【发布时间】:2023-04-06 19:30:01
【问题描述】:
我正在尝试将UserControl 绑定到我的代码中的属性。
绑定在构造函数中有效,但是当我在按下按钮后尝试为属性分配另一个值时,UserControl 不会改变它的值。
XAML:
<UserControl Content="{Binding MainDock, UpdateSourceTrigger=PropertyChanged}"/>
绑定的属性:
public UserControl MainDock { get; set; }
构造函数:
public DBControl()
{
InitializeComponent();
this.DataContext = this;
MarkerControl mc = new MarkerControl();
MainDock = mc;
}
按钮方法:
private void ShowItemsToPrint(object sender, RoutedEventArgs e)
{
ItemsToPrintControl sitp = new ItemsToPrintControl();
MainDock = sitp;
}
【问题讨论】:
-
MainDock 不会引发 PropertyChanged 事件,也不会从您提供的代码中实现 INotifyPropertyChanged。
-
请注意,设置
UpdateSourceTrigger=PropertyChanged是没有意义的。它仅在 TwoWay 或 OneWayToSource 绑定中有效。
标签: c# wpf binding user-controls