2017-04-05 9 views
-1

私はこのコードを持っている:WPF DataTrigger - 独自の列挙戻りヌルXAML

の.xaml:

<DataTrigger Binding="{Binding Path=TypeItem}" Value="{x:Static local:CListBoxItem+ETypeItem.File}"> 
    ... 
</DataTrigger> 

.csファイル:私は自分のスタイルをアプリ実行すると

public CListBoxItem(ETypeItem _type) 
{ 
    this.TypeItem = _type; 
    InitializeComponent(); 
} 

... 

public enum ETypeItem { File, Directory } 

... 

public static readonly DependencyProperty TypeItemProperty = 
     DependencyProperty.Register("TypeItem", typeof(ETypeItem), typeof(CListBoxItem), new PropertyMetadata(ETypeItem.Directory)); 
public ETypeItem TypeItem 
{ 
    get { return (ETypeItem) GetValue(TypeItemProperty); } 
    set { SetValue(TypeItemProperty, value); } 
} 

はしないでください作業。私が使用する場合:

<DataTrigger Binding="{Binding Path=TypeItem}" Value="{x:Null}"> 
    ... 
</DataTrigger> 

次に、どのようにTypeItemを独自のスタイルでロードするには?

答えて

0

CListBoxItemクラスはListBoxItem又はControlTrigger代わりにDataTrigger(および静的値Value="{x:Static local:CListBoxItem+ETypeItem.File}")を試すから誘導された場合。 DataTriggerは、オブジェクト自体ではなくDataContextでプロパティを検索します。

+0

ありがとうございます。この作品:D –

関連する問題