label使用xaml和mvvvm隐藏和显示

时间:2017-04-08 13:12:19

标签: c# xaml xamarin mvvm xamarin.android

如何标记隐藏并显示如果管理员登录则显示一个标签,否则标签隐藏{如何解决}?

  

xaml代码

 <StackLayout IsVisible="{Binding IsAdminTrue}">
<Label Text="is_professional"></Label>
 </StackLayout>

ViewModel代码

public void IsProfessional()
    {
        if (CurrentUser.IsAdmin!= true)
        {
            IsAdminTrue= false;
        }
        else
        {
            IsAdminTrue= true;
        }
    }

2 个答案:

答案 0 :(得分:0)

您应该在Label上设置Visibility属性,而不是StackLayout。您可以将IsAdminTrue更改为IsAdminVisible(可见性类型),也可以使用BooleanToVisibility转换器。第二种选择通常是首选方法。

当然,如果IsAdminTrue没有提出PropertyChanged,这一切都不重要。

答案 1 :(得分:0)

public void IsProfessional()
{
    if (CurrentUser.IsAdmin!= true)
    {
            lblNo.Visibility= Visibility.Visible;
    }
    else
    {
            lblNo.Visibility = Visibility.Hidden;
    }
}

这里lblNo是一个标签。