私はbtnLoginというボタンがあります。変数が変更されたときにこのボタンの内容を変更したいと思います。基本的に私はログイン画面を持っていて、ユーザーが正常にログインすると、私は変数を設定しています。この変数に従って、内容を変更したいと思います。ボタンの内容をプログラムで変更する
だから私は、ログイン画面を持ち、ログイン時の時点で、私はこの変数に設定しています: - ウィンドウがロードされると、メイン画面に続いて
ApplicationState.SetValue("UserLoggedIn", "True");
を、私は、コードのこの部分を持っています: -
private void CheckLoginButton()
{
//check if user is checked in or out
if (String.IsNullOrEmpty(ApplicationState.GetValue<string>("UserLoggedIn")))
{
//User not logged in
ImageSource largeImageSource =
new BitmapImage(new Uri(@"/myAppWPF;component/Images/administrator-icon32.png", UriKind.Relative));
ImageSource smallImageSource =
new BitmapImage(new Uri(@"/myAppWPF;component/Images/administrator-icon16.png", UriKind.Relative));
btnLogin.LargeImageSource = largeImageSource;
btnLogin.SmallImageSource = smallImageSource;
btnLogin.Label = "Login";
btnLogin.ToolTipTitle = "Please Log In";
}
else
{
//User logged in
ImageSource largeImageSource =
new BitmapImage(new Uri(@"/myAppWPF;component/Images/logout32.png", UriKind.Relative));
ImageSource smallImageSource =
new BitmapImage(new Uri(@"/myAppWPF;component/Images/logout16.png", UriKind.Relative));
btnLogin.LargeImageSource = largeImageSource;
btnLogin.SmallImageSource = smallImageSource;
btnLogin.Label = "Log Out";
btnLogin.ToolTipTitle = "Log Out";
}
}
と私は、次のしているXAMLで: - しかし
<r:RibbonGroup Name="AdminGroup" Header="Admin" >
<r:RibbonButton Name="btnLogin" Click="btnLogin_Click" ></r:RibbonButton>
</r:RibbonGroup>
、毎回、B変数が正しく設定されていても、tnLoginは常にLoginに設定され、Logoutには決して設定されません。
このボタンをもう一度登録する必要はありますか?または私は何か間違っているのですか? WPFでこれを行うにはあなたの助けと時間を
おかげ
ログイン前またはログイン後にウィンドウが読み込まれていますか? –