我正在尝试将Forderground依赖项属性绑定到我的UIControl,以便它以用户希望的颜色绘制。由于myUiControl.Foderground autocopletes,我以为我可以像这样在XAML文件中绑定它:
{Binding ElementName=rootControl, Path=Forderground}
调试VS时说它无法找到与此DependencyProperty绑定的源..但我无法弄清楚为什么会这样。
另外,如何在调试时列出对象的所有依赖项属性?
答案 0 :(得分:0)
你能否确认你的“rootControl”元素是在xaml标记中先前定义的,而不是你的Binding holder?通常,Bindings绑定到先前声明的元素。
如果您的意思是调试时使用ImmediateWindow和IntelliSense,则每个依赖项属性元数据通常都有公共静态访问修饰符。例如,您可以键入“Control”。并观察所有相应的依赖属性,路由事件和附加属性成员。
希望这有帮助。
答案 1 :(得分:0)
更新:如果下面的内容不够,请尝试下载此sample并查看。
需要将ElementName设置为根控件的“x:Name”,并且需要将Path设置为要绑定到的根元素上的Property。没有名称它找不到你所指的元素(因此是初始错误)而没有Path它没有绑定到正确的属性(在运行时检查你的输出是否有错误)。
试试这个:
<Window x:Class="WpfApplication1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid x:Name="root" Background="Green">
<Button Background="White" Margin="100">
<TextBlock Background="{Binding ElementName=root, Path=Background}" Text="TESTING TESTING"/>
</Button>
</Grid>