【发布时间】:2009-11-05 16:02:48
【问题描述】:
我正在努力使这篇文章简短易读。 我正在创建一个自定义控件,该控件在代码隐藏中定义了一个 DP (RandomNumber)。这个 DP 的值是通过我的控件中的按钮触发的单击事件设置的。
这是相关的代码:
public partial class Tester
{
public int RandomNumber
{
get { return (int)GetValue(RandomNumberProperty); }
set { SetValue(RandomNumberProperty, value); }
}
private Random rnd = new Random();
private void Button_Click(object sender, RoutedEventArgs e)
{
RandomNumber = rnd.Next();
}
点击事件有效,值已设置,我可以确认它已更改。我遇到的问题是,当我在我的应用程序中使用此控件并尝试将“RandomNumber”绑定到我的视图模型上的另一个 DP 时,绑定永远不会更新:
<DockPanel>
<TextBlock Text="{Binding Path=Numeric}"
DockPanel.Dock="Top"
Height="25"/>
<TestProject:Tester RandomNumber="{Binding Path=Numeric}"
DockPanel.Dock="Top"
Height="25"
x:Name="TestControl"/>
</DockPanel>
在上面的示例中,我有一个带有名为 Numeric 的 DP 的视图模型,我可以确认该值实际上永远不会被绑定更新。
我不知道我做错了什么。 提前感谢您的帮助!
【问题讨论】:
标签: c# .net wpf data-binding xaml