查看视图和数据同步

时间:2012-08-06 23:10:34

标签: wpf mvvm

我有一个视图,我需要显示一些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备注的最简洁方法是什么?

1 个答案:

答案 0 :(得分:0)

将2个视图模型组合成具有单个Remark属性的主视图模型。如果没有必要,不要引入同步的需要。