0

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

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

詳細についてはコメントを残してください。

どんな議論でも本当に感謝します!前もって感謝します。

4

2 に答える 2

1

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

たとえば、顧客のリストがあり、それらの顧客の一部が割引製品を購入できるとします。次に、CanPurchaseDiscountedProducts というプロパティを Customer に追加し、そのプロパティを 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>
于 2009-03-30T18:08:34.427 に答える
0

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

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

于 2009-03-30T18:02:29.700 に答える