具有相同内容,不同绑定的WPF表项

时间:2018-12-12 06:48:12

标签: c# wpf

在我的Tabcontrol中,第一个tabitem内容与其余内容不同,它是通过XAML添加的,效果很好。 但是,所有其余部分都是基于自定义集合的计数从viewmodel中添加的(在控件加载时),这些选项卡共享相同的设计,但共享不同的数据,问题在于所有选项卡数据都相同,即使用集合中的最后一个数据。 (除了选项卡标题文本,其他都可以)。 使用相同内容的Tabitems会像这样建立:

contenttemplate使用一个DataTemplate,它具有文本块/文本框的绑定。

<ContentControl Content="{Binding}" x:Key="ResourceTabItemContent" ContentTemplate="{StaticResource ResourceBookingDataTemplate}"/>

然后将所有这些用于视图模型的控制负载中,如下所示:

foreach (var item in MyCollection)
      {
        DXTabItem dxti = new DXTabItem();
        dxti.Content =       (ContentControl)tabmain.FindResource("ResourceTabItemContent");
        dxti.DataContext = item;
        dxti.Header = $"{item.Order} - {item.Name}";                         
        tabmain.InsertTabItem(dxti, tabmain.Items.Count);
      }

那么,如何在每个选项卡上查看正确的数据是不一样的,谢谢您的想法!

1 个答案:

答案 0 :(得分:0)

x:Shared=false设置ContentControl

<ContentControl Content="{Binding}" x:Key="ResourceTabItemContent" x:Shared="false" ContentTemplate="{StaticResource ResourceBookingDataTemplate}"/>


从MSDN:

  

在WPF中,资源的默认x:Shared条件为true。这个   条件意味着任何给定的资源请求始终返回   同一实例。

相关问题