我有一个视图,我需要在其中显示一些 Grid 和 TabControl。网格上有一列应该显示类似于注释(备注)属性的内容。由于该字段可能包含大量数据,因此我将有一个带有 TextBox 控件的选项卡,该选项卡应允许用户查看/编辑便笺,而网格列将仅显示便笺上的几个首字母。
我将只发布相关部分:
public classSomeViewModel : ViewModelBase
{
public SomeViewModel()
{
TabScreens = New List<ViewModelBase>();
TabScreens.Add(new AnotherViewModel1());
TabScreens.Add(new AnotherViewModel2());
}
List<ViewModelBase> TabScreens{get;set;}
}
SomeView xml:
<DataTemplate DataType="{x:Type vm:AnotherViewModel1}">
<vw:AnotherView1 />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:AnotherViewModel2}">
<vw:AnotherView2 />
</DataTemplate>
另一个视图2:
<Grid>
<TextBox Text={Binding Note} />
</Grid>
另一个ViewModel2:
public class AnotherViewModel2
{
public string Note {get;set;}
}
}
所以 View 上的 TabControl 绑定到 TabScreens。DataTemplates 确保在加载 SomeView 时将同时加载 AnotherView1 和 AnotherView2。网格中的每一行都包含不同的注释。同步 SomeViewModel Remark 和 AnotherViewModel2 Remark 的最简洁方法是什么?