我正在创建一个包含两种类型用户的应用程序;员工,管理员。每个用户都有自己的权限。例如,管理员可以添加,编辑,删除等;而工作人员只能查看。目前在我的应用中,我使用ListView
来显示数据,然后使用DataTemplate
我在其中设置按钮,如下所示。
但是,我想更改编辑content
的{{1}}以显示视图,而不是编辑用户是否为员工用户。我尝试实现以下代码,但它似乎没有改变。
button
我对创建<Button Content="Edit" Command="{Binding ShowEditCommand}" Width="50">
<Button.Style>
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource MetroButton}">
<Setter Property="Content" Value="View" />
<Style.Triggers>
<DataTrigger Binding="{Binding Role}">
<DataTrigger.Value>
<enum:EnumPermission>Admin</enum:EnumPermission>
</DataTrigger.Value>
<Setter Property="Content" Value="Edit"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
并不是很擅长,因此我会对我做错了什么以及如何改变它有所了解。提前致谢。
修改 最初,正如所指出的,我忘了从按钮中删除`Content =“Edit”。但是,当我删除它时,样式仍然无法完全发挥作用。
答案 0 :(得分:0)
从Content="Edit"
定义
Button
<Button Content="Edit" ...
Style.Trigger
将无法根据Dependency Property Setting Precedence List覆盖该值。您可以将Style
中的默认值设置为
<Setter Property="Content" Value="View" />
答案 1 :(得分:0)
首先只是因为您不应该更改样式中的内容,您可以将内容绑定到属性并更改该属性值
解决这个问题只需从第一行中删除Content =“Edit”