3

我有一个 TabControl,其中每个项目都包含一个名为 Timeline 的用户控件。这个“时间线”有一个名为“数字”的属性,它在运行时会发生变化。

我想让属性“数字”显示在 TabItem 标题中。老实说,我真的不知道该怎么做。

我的第一个想法是我必须创建一个从原始 TabItem 控件派生的自定义控件,并创建一个 DependencyProperty 或具有自定义 ControlTemplate 的东西。

我觉得我解释得不好...

一个例子:我想在下面的 url 上做类似帖子中的第三张图片,但不是关闭按钮,我想显示在运行时动态变化的属性“数字”!

http://geekswithblogs.net/kobush/archive/2007/04/08/closeabletabitem.aspx

4

1 回答 1

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>
于 2010-10-14T11:17:52.893 回答