【问题标题】:Silverlight 4 TabControl MVVM tab header bindingSilverlight 4 TabControl MVVM 选项卡标题绑定
【发布时间】:2010-09-15 03:51:30
【问题描述】:

在 silverlight 应用程序中,我在代码中动态创建选项卡项(MainView 的代码隐藏):

TabItem tab = new TabItem();
CustomerView view = new CustomerView();
view.DataContext = customerViewModel; //or tab.DataContext = customerViewModel;??
tab.Content = view;
DataTemplate template = this.Resources["CustomTabItemHeader"] as DataTemplate;
tab.HeaderTemplate = template;
tabControl.Items.Add(tab);

CustomTabItemHeader(在 MainView.xaml 中)看起来像:

<UserControl.Resources>
    <DataTemplate x:Key="CustomTabItemHeader">
        <TextBlock Text="{Binding Path=DisplayName}"/>
    </DataTemplate>
</UserControl.Resources>

CustomerViewModel 具有 DisplayName 属性,它实现了 INotifyPropertyChanged 接口。但 DisplayName 不会显示在选项卡标题中。谁能解释一下为什么?

【问题讨论】:

    标签: silverlight mvvm tabcontrol


    【解决方案1】:

    我愚蠢地假设 TabItem 标头模板中的文本块会查看选项卡的数据上下文以获取其文本值,但事实并非如此。所以我必须做以下事情:

    tab.Header = customerViewModel; 
    

    【讨论】:

      猜你喜欢
      • 2018-08-27
      • 1970-01-01
      • 2017-04-22
      • 2014-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      相关资源
      最近更新 更多