2017-04-08 21 views
-1

管理者がログインしている場合は非表示にして表示します。そうでない場合はラベルが表示されます。ラベルxamlとmvvvmを使って非表示と表示

XAMLコード

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

のViewModelコード

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

プロフェッショナルのためにラベルを非表示にするか、はいまたはいいえを表示しますか?スタックレイアウトの可視性が変わるのはなぜですか?あなたはラベルの権利のためにそれを変更する必要がありますか? – Krishna

+0

IsAdminTrue(bad name btw)のコードは何ですか?ビューモデルにINotifyPropertyChangedを実装していますか? IsAdminTrueセッターでPropertyChangedイベントを送信していますか? –

答えて

0

あなたはラベル、ないStackLayoutにVisibilityプロパティを設定する必要があります。 IsAdminTrueをIsAdminVisible(Visibility型)に変更するか、BooleanToVisibilityコンバータを使用できます。通常、第2の選択肢が好ましい方法です。

もちろん、IsAdminTrueがPropertyChangedを発生させない場合、これは問題になりません。

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

ここで、lblNoはラベルです。

関連する問題