我有一个名为ChromeWindow
的XAML对象(派生自Window
),其后面有一个名为DependencyProperty
的{{1}}代码,后者存储对关联的ApplicationChrome的引用XAML对象(派生自UserControl)。 ApplicationChrome的XAML文件有一些AppChrome
'd对象(例如TextBlock和Border),我想从x:Name
的XAML绑定到该对象。 XAML中ChromeWindow
的根ChromeWindow
'为x:Name
,因此我认为其中一个绑定可行:
rootWindow
但是抱怨BindingExpression路径错误导致在ApplicationChrome类型的对象上找不到属性'CaptionTextBlock'(在AppChrome的XAML中为x:Name'd TextBlock)
所以我尝试了这个绑定intead:
{Binding ElementName=rootWindow, Path=AppChrome.CaptionTextBlock.Text, Mode=OneWay}
仍然没有运气,这次再次抱怨{Binding Source=AppChrome.CaptionTextBlock, Path=Text, Mode=OneWay}
路径错误,但这次它找不到类型为BindingExpression
的对象的CaptionTextBlock
属性
答案 0 :(得分:0)
即使您已经命名了这些元素,它们也不可用于绑定,除非为它们公开了依赖项属性。
ApplicationChrome
需要公开名为CaptionTextBlock
的依赖项属性才能使此绑定生效。
也许您可以解释为什么要尝试绑定到这些对象,以便我们更好地了解您的场景。可能有更好的方法,因为这种绑定不仅凌乱,而且非常不寻常。