设置TabItem DataContext Inidividiually?

时间:2014-10-25 00:54:16

标签: c# xaml binding datacontext

我有一个TabControl,其中包含一些基于类的项目。我想将该类绑定到TabItem本身,以便我可以混合使用用户控制和类控制的TabItem。

我目前有。

XAML

<Window.Resources>
    <TextBlock x:Key="TabItem_Prefab" Text="{Binding Name}"/>
</Window.Resources>

<TabControl>
    <TabItem Header="A" Name="TabControl_A">
        <StaticResource ResourceKey="TabItem_Prefab"/>
    </TabItem>
    <TabItem Header="B" Name="TabControl_B">
        <StaticResource ResourceKey="TabItem_Prefab"/>
    </TabItem>
    <TabItem Header="Options">
        <TextBlock Text="Stuff"/>
    </TabItem>
</TabControl>

C#

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        ViewModelTest a = new ViewModelTest() { Name = "string" };
        ViewModelTest b = new ViewModelTest() { Name = "Cheese" };
        TabControl_A.DataContext = a;
        TabControl_B.DataContext = b;
    }
}

public class ViewModelTest
{
    public string Name { get; set; }
}

这个问题是TabControl_A的标签显示&#34; cheese&#34;什么时候它应该被绑定到&#34; string&#34;。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

问题可能在于StaticResource TabItem_Prefab。 在我看来,通常的Binding工作

   <TabControl>
            <TabItem Header="A" Name="TabControl_A">
                <TextBlock Text="{Binding Name}"/>
            </TabItem>
            <TabItem Header="B" Name="TabControl_B">
                <TextBlock Text="{Binding Name}"/>
            </TabItem>
            <TabItem Header="Options">
                <TextBlock Text="Stuff"/>
            </TabItem>
    </TabControl>

显示您的StaticResource。

相关问题