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