3

すべてのアイテムに Timeline というユーザー コントロールが含まれる TabControl があります。この「Timeline」には、実行時に変化する「Number」というプロパティがあります。

プロパティ「Number」をTabItemヘッダーに表示させたい。そして、正直に言うと、それを行う方法がまったくわかりません。

私の最初の考えは、元の TabItem コントロールから派生したカスタム コントロールを作成し、カスタム ControlTemplate を使用して DependencyProperty または何かを作成する必要があるということです。

なんか説明下手すぎる気がする…

例:次のURLの投稿の3番目の画像のようなことをしたいのですが、閉じるボタンの代わりに、実行時に動的に変化するプロパティ「Number」を表示したいです!

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 に答える