C# 多重绑定时的被动依赖属性

C# 多重绑定时的被动依赖属性,c#,.net,wpf,multibinding,C#,.net,Wpf,Multibinding,我试图得到一个绑定到两个属性的标签,以便对第二个属性的更改作出反应 这背后的基础是在公制和英制之间切换时更改字段的单位标签: XAML代码如下所示: 标签位于用户控件上,实际文档具有以下许多功能: 文档对象如下所示: 公共类文档:DependencyObject { 公共静态只读从属属性UnitsProperty= DependencyProperty.Register(“Units”、typeof(UnitSet)、typeof(Document)、new PropertyMetada

我试图得到一个绑定到两个属性的标签,以便对第二个属性的更改作出反应

这背后的基础是在公制和英制之间切换时更改字段的单位标签:

XAML代码如下所示:


标签位于用户控件上,实际文档具有以下许多功能:

文档对象如下所示:

公共类文档:DependencyObject
{
公共静态只读从属属性UnitsProperty=
DependencyProperty.Register(“Units”、typeof(UnitSet)、typeof(Document)、new PropertyMetadata(default(UnitSet));
公共单位集单位
{
get{return(UnitSet)GetValue(UnitsProperty);}
set{SetValue(UnitsProperty,value);}
}
公共文件()
{
单位=单位集。英制;
}
}
然后,我尝试设置Units属性:

private void ChangeUnit(对象发送方,路由目标)
{
如果(发送方==度量)
{
Document.Units=UnitSet.Metric;
}
else if(发送方==帝国)
{
Document.Units=UnitSet.Imperial;
}
}

但是,单元标签无法更新。我需要做什么来解决这个问题?抱歉,如果遗漏了任何明显的内容,我两天前启动了WPF。

我不知道您的完整XAML树,但我认为您的AnteStorLevel不正确。我猜MainForm是您的根元素,但是您在绑定中说您正在寻找标签上方的第三个MainForm。试着完全消除这个级别。它默认为1

我不知道您的完整XAML树,但我认为您的AnteStorLevel不正确。我猜MainForm是您的根元素,但是您在绑定中说您正在寻找标签上方的第三个MainForm。试着完全消除这个级别。它默认为1

多重绑定中的第一个绑定是什么?Hi-Nakiya,它只是用户控件上定义的标准依赖属性多重绑定中的第一个绑定是什么?Hi-Nakiya,它只是用户控件上定义的标准依赖属性,只是使用
ElementName
属性绑定。或者,只需使用
ElementName
属性绑定即可。