在其他视图中的视图模型中设置属性
本文关键字:视图 设置 属性 模型 其他 | 更新日期: 2023-09-27 18:36:40
我有一个带有Window
和UserControl
的WPF应用程序。该UserControl
是使用 MVVM 模式实现的。因此,在视图中,我有一个Label
,它显示了视图模型中名为InfoMessage的string
属性的值。
在Window
中,我添加了此UserControl
的实例
<views:ItemInfoView Grid.Row="3" Grid.Column="1" x:Name="itemInfoView"/>
现在我想从我的Window
的 XAML 设置信息消息。目前我不知道如何在 xaml 中实现这一点。在代码隐藏中,我可以访问控件的DataContext
并将其强制转换为 ItemInfoViewModel,并设置如下值:
((ItemInfoViewModel)itemInfoView.DataContext).InfoMessage = "Hello World";
但我希望有一种方法可以在纯 XAML 中做到这一点。有谁知道这是否可能以及如何?
需要向用户
控件添加依赖项属性:
// Your property
public string InfoMessage{get;set;}
// Register Dependency Property
public static readonly DependencyProperty InfoMessageProperty =
DependencyProperty.Register("InfoMessage", typeof(string), typeof(ItemInfoView),
new UIPropertyMetadata(true));
然后,您应该能够直接设置或绑定信息消息:
<views:ItemInfoView Grid.Row="3" Grid.Column="1" InfoMessage="Whatever"/>