我有一个站立的状态。Text =“ADMIN”;(在cs)如果这是管理员,那么我如何隐藏前3个按钮,请给予意见
<DataGridTemplateColumn Header="Operations" IsReadOnly="True" Width="*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Style="{StaticResource gridInfButton}" x:Name="infButton">
<Icon:PackIconMaterial Kind="Information" Style="{StaticResource gridButtonIcon}"/>
</Button>
<Button Style="{StaticResource gridPlayButton}" x:Name="playButton">
<Icon:PackIconMaterial Kind="PlayOutline" Style="{StaticResource gridButtonIcon}"/>
</Button>
<Button Style="{StaticResource gridEditButton}" Margin="5 0 0 0" x:Name="editButton">
<Icon:PackIconMaterial Kind="PencilOutline" Style="{StaticResource gridButtonIcon}"/>
</Button>
<Button Style="{StaticResource gridRemoveButton}" Margin="5 0 0 0" x:Name="removeButton" IsEnabled="False">
<Icon:PackIconMaterial Kind="DeleteOutline" Style="{StaticResource gridButtonIcon}"/>
</Button>
<Button Style="{StaticResource gridEyeButton}" Margin="5 0 0 0" x:Name="eyeButton">
<Icon:PackIconMaterial Kind="EyeOutline" Style="{StaticResource gridButtonIcon}"/>
</Button>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我试着用各种方法做这件事,但对我都没有效果
在此输入
1条答案
按热度按时间wb1gzix01#
您可以在xaml的按钮声明中设置
Visibility = "{Binding IsAdmin}"
,并创建一个属性public Visibility IsAdmin {get;set;}
,该属性在更改时发出通知(如果您使用MVVM,则应该很容易)。如果你不使用MVVM,你可以创建一个类:然后在窗口后端创建一个属性
public NotifyingProperty<Visibility> IsAdmin {get;set;}
,并在文本更改时设置它。注意:在这种情况下,必须将
"{Binding IsAdmin}"
更改为“{Binding IsAdmin.Property}"
另外,不要忘记在这两种情况下调用
DataContext = this;
。