如何在XAML中设置属性的属性
本文关键字:属性 设置 XAML | 更新日期: 2023-09-27 18:26:42
我有一个用户控件作为我的视图(名为MyView
),它的数据上下文设置为我的视图模型的实例(类型为MyViewModel
)
在我的视图中,我有一个只读属性后面的代码(这是MVVM Light片段),看起来是这样的:
public MyViewModel Vm
{
get { return (MyViewModel) DataContext; }
}
MyViewModel
有一个名为Title
的字符串类型的属性,我想通过XAML更改它,因为MyView
被用作ListBox
的ItemTemplate
。
<ListBox ItemsSource="{Binding MyViewModelCollection}">
<ListBox.ItemTemplate>
<DataTemplate>
<Controls:MyView /> <!-- How do I set Vm.Title property here? -->
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
我该怎么做
或者也许还有更好的方法
您能简单地在MyView
中创建一个反映视图模型的属性吗?
public string Title
{
get { return ((MyViewModel) DataContext).Title; }
set { ((MyViewModel) DataContext).Title = value; }
}
然后写:
<Controls:MyView Title="MyTitle" />
如果要绑定标题,则必须使其成为依赖属性,而不是常规属性。