2

我的 WPF 选项卡控件有问题。

我有一个 TabControl,ItemsSource 绑定到 ObservableCollection。我为选项卡的标题/内容部分创建了一个数据模板。内容部分包含一个自定义控件,带有一堆标签和文本框。对于在创建新选项卡时可编辑的文本框,数据会继续并出现在新选项卡中。不确定这是否是我的 XAML 或视图模型中的问题。这是我的 XAML 代码:

<UserControl.Resources>
  <DataTemplate x:Key="TabItemHeaderTemplate">
    <StackPanel Orientation="Horizontal">
      <TextBlock Text="{Binding AdFile.Name}" />
    </StackPanel>
  </DataTemplate>
  <DataTemplate x:Key="TabItemContentTemplate">
    <MyView:MyCustomControl/>
  </DataTemplate>
  <Style x:Key="TabItemContainerStyle" TargetType="TabItem">
    <Setter Property="Header" Value="{Binding}"/>
    <Setter Property="HeaderTemplate" 
    Value="{StaticResource TabItemHeaderTemplate}"/>
    <Setter Property="Content" Value="{Binding}"/>
    <Setter Property="ContentTemplate" 
    Value="{StaticResource TabItemContentTemplate}"/>
  </Style>
</UserControl.Resources>


<TabControl Grid.Row="3" ItemsSource="{Binding OpenedFiles}" x:Name="_myTabControl" SelectedItem="{Binding Path=CurrentDataControlViewModel, Mode=TwoWay}" SelectionChanged="TabControlSelectionChanged" ItemContainerStyle="{StaticResource TabItemContainerStyle}"/>

不确定我应该提供哪些其他信息。也许这是一个常见问题,我只是没有正确设置一些东西?基本上我只想能够为每个选项卡创建一个新的控件实例......

提前致谢。

4

1 回答 1

0

听起来好像您的 ViewModel 是单例,正在被克隆,或者您正在尝试使用现有 ViewModel 填充新选项卡。

如果您使用的是 MEF,请记住将 [PartCreationPolicy] 属性设置为 NonShared。

于 2013-03-12T12:29:29.393 回答