我正在使用MVVM设计模式实现WPF应用程序。 我们的想法是在工作空间中对多个数据进行不同的表示。 每个工作空间一个实体(实际上是一个选项卡),可以在详细或汇总视图中看到。
为此,我使用了这些文章: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx http://rachel53461.wordpress.com/2011/05/28/switching-between-viewsusercontrols-using-mvvm/
一切都很好,但是当我使用一个给定视图模型的汇总视图实例化2或3个选项卡时,只有一个视图实例化。 因此,如果我在文本框中输入一些文本,则每个选项卡中的每个文本框都会被修改。 我不希望这样,因为一个选项卡可能是列表中的另一个实体。
以这种方式处理视图之间的切换:
<DataTemplate x:Key="CusomterDetailTemplate" DataType="{x:Type vm:CustomerViewModel}">
<vw:CustomerDetailView />
</DataTemplate>
<DataTemplate x:Key="CustomerListTemplate" DataType="{x:Type vm:CustomerViewModel}">
<vw:CustomerListView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:CustomerViewModel}">
<ContentControl Content="{Binding }">
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Setter Property="ContentTemplate" Value="{StaticResource CustomerListTemplate}" />
<Style.Triggers>
<DataTrigger Binding="{Binding View}" Value="Detail">
<Setter Property="ContentTemplate" Value="{StaticResource CustomerDetailTemplate}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</DataTemplate>
这不是我想要的。每个标签应该是独立的。 我想我错过了一些东西,但我还看不到它。
这就是我要求你帮助的原因。
谢谢。