2009-03-30 9 views
0

多くのページで使用するデータテンプレートがあり、データテンプレートにはいくつかのボタンが含まれています。これらのボタンの一部をトリガーで非表示にしたい(このDataTemplateを使用するページでこれらのボタンのIsEnabledプロパティを設定することを意味します)。WPF DataTemplateのプロパティを公開するには?

つまり、このDataTemplateを使用するListBoxから設定可能なDataTemplateの一部として、 'ButtonXIsEnabled'、 'ButtonYIsEnabled'プロパティをスタイルトリガー/セッターに設定することもできます。

私は本当に私が十分明確であることを願っています。詳細を記入してください。

すべてのディスカッションは本当に感謝しています! ありがとうございます。

答えて

1

基本的には、これはあなたのデータ・テンプレートに使用するオブジェクトによって異なります。いくつかのButtonYIsEnabledなどを使用する代わりに。ドメインモデルに適した単語を使用してください。

たとえば、お客様のリストがあり、その一部の顧客が割引商品を購入できるとします。次に、あなたの顧客と呼ばれるCanPurchaseDiscountedProductsにプロパティを追加し、あなたのDataTemplateでそのプロパティを使用し

<DataTemplate TargetType="{x:Type local:Customer}"> 
    <!-- Other Items --> 
    <Button Content="Purchase Discounted Products" x:Name="discounts" Visibility="Hidden" /> 
    <DataTemplate.Triggers> 
    <DataTrigger Binding="{Binding CanPurchaseDiscountedProducts}" Value="True"> 
     <Setter TargetName="discounts" Property="Visibility" Value="Visible"/> 
    </DataTrigger> 
    </DataTemplate.Triggers> 
</DataTemplate> 
0

WPFデータテンプレートは、特定のオブジェクトタイプのビューです。どのようにObjectTypeXのインスタンスを表示するかを指定します。データテンプレートは、基になるインスタンスのプロパティにバインドできます。

インスタンスにButtonXIsEnabledプロパティがある場合、対応するButtonのVisibilityプロパティをインスタンスプロパティにバインドできます。ボタンは、下にあるオブジェクトの値に基づいて表示または非表示になります。

+0

私はuがプレゼンテーション層(これは、アプリケーション内で宣言されます)でのDataTemplateを使用する場合、私はの上で変更したい、意味はありませんこのページの内容に従ってDataTemplateのプロパティを設定します。 – Shimmy

関連する問題