gpt4 book ai didi

c# - BooleanToVisibilityConverter 的显示/隐藏按钮不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 11:13:57 24 4
gpt4 key购买 nike

在我的应用程序中,我想根据用户授权级别显示/隐藏一个按钮。如果用户是团队负责人,则应显示该按钮。如果用户不是团队负责人,则不应显示。

我尝试使用在我的资源字典中定义的 BooleanToVisibilityConverter 来解决这个问题:

<BooleanToVisibilityConverter x:Key="VisibilityConverter" />

转换器的实现:

<Button Grid.Row="1" Grid.Column="5"
Click="TeamLeader_Click" Visibility="{Binding IsTeamLeader, Converter={StaticResource
VisibilityConverter}}" Style="{StaticResource ButtonStyleMenu}" />

在我的代码隐藏类中,我使用依赖属性来更改按钮的可见性。

public static readonly DependencyProperty IsTeamLeaderProperty =
DependencyProperty.Register("IsTeamLeader", typeof(bool),
typeof(MainMenu), new FrameworkPropertyMetadata(false));

public bool IsTeamLeader
{
get { return (bool)GetValue(IsTeamLeaderProperty); }
set { SetValue(IsTeamLeaderProperty, value); }
}

在我的用户控件的“加载事件”中,我用 false 初始化了我的属性,所以按钮应该折叠起来。

private void ViewPage_Loaded(object sender, RoutedEventArgs e)
{
this.IsTeamLeader = false;
}

但这行不通。无论 IsTeamLeader 属性在启动时具有哪个值,该按钮始终可见。

所以你能帮帮我并提示我哪里做错了吗? BooleanToVisiblityConverter 有问题还是我的依赖属性实现有问题?或者什么?

谢谢!

最佳答案

您必须像这样设置 DataContext:

this.DataContext = this;

关于c# - BooleanToVisibilityConverter 的显示/隐藏按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com