我有我的许多页面使用数据模板,数据模板包含几个按钮,我想通过触发隐藏的某些按键(我的意思是在我使用此页面设置这些按钮的IsEnabled属性DataTemplate中)。

在换句话说,我甚至会喜欢的风格触发器来设置/设定装置“ButtonXIsEnabled”,“ButtonYIsEnabled”一个属性作为DataTemplate中从哪里使用此DataTemplate中列表框可设置的一部分。

我真的希望我不够清晰,请发表评论任何进一步的细节。

任何讨论都会非常感激! 由于事先。

有帮助吗?

解决方案

基本上,这取决于你使用的是您的DataTemplate什么对象。而不是使用一些ButtonYIsEnabled,ETCS。尽量用一些词适合于更好地你的域模型。

举例说,你有一个客户列表,并且其中一些客户不得不购买打折产品的能力。然后一个属性添加到您的客户打电话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>

其他提示

一个WPF数据模板是某个对象类型的视图......你想怎么ObjectTypeX的实例来看看。数据模板可以结合属性上底层的实例。

所以,如果你有你的实例ButtonXIsEnabled属性,可以相应的按钮的Visibility属性绑定到实例属性。按钮将被示出或基于在底层对象的值隐藏。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top