DependencyProperty:VS无法找到绑定源

时间:2009-03-30 15:10:52

标签: wpf wpf-controls

我正在尝试将Forderground依赖项属性绑定到我的UIControl,以便它以用户希望的颜色绘制。由于myUiControl.Foderground autocopletes,我以为我可以像这样在XAML文件中绑定它:

{Binding ElementName=rootControl, Path=Forderground}

调试VS时说它无法找到与此DependencyProperty绑定的源..但我无法弄清楚为什么会这样。

另外,如何在调试时列出对象的所有依赖项属性?

2 个答案:

答案 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>