我有一个TabControl,其中每个项目都包含一个名为Timeline的用户控件。这个“时间轴”有一个名为“Number”的属性,它在运行时会发生变化。
我想让属性“Number”显示在TabItem标题中。而且我真的不知道如何做到这一点,说实话。
我的第一个想法是我必须创建一个自定义控件,该控件派生自原始TabItem控件并使用自定义ControlTemplate创建DependencyProperty。
我觉得我很难解释这个......
一个例子:我想在后面的url上发布类似第三张图片的内容,但不是关闭按钮,我想显示在运行时动态更改的属性“Number”!
http://geekswithblogs.net/kobush/archive/2007/04/08/closeabletabitem.aspx
答案 0 :(得分:3)
如果我们有这个课程:
public class MyItem : INotifyPropertyChanged
{
public string Title {get; set;}
private int number;
public int Number
{
get { return number; }
set
{
number= value;
OnPropertyChanged("Number");
}
}
}
我们可以将项目集合绑定到TabControl:
<TabControl ItemsSource="{Binding MyItems}">
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title}"/>
<TextBlock Text="{Binding Number}"/>
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<my:TimeLine Number="{Binding Number, Mode=TwoWay}" />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>