【发布时间】:2012-04-05 03:33:39
【问题描述】:
我有一个类实现了INotifyPropertyChanged。此类UserInfo 有一个布尔变量isuserLoggedIn。
现在在我的主窗体中,我希望将按钮的 isEnabled 绑定到 UserInfo.isuserLoggedIn。
怎么做?
public class UserInfo : INotifyPropertyChanged
{
private static readonly UserInfo _instance = new UserInfo();
private string username;
private bool isLoggedIn;
public string UserName
{
get { return username; }
set
{
username = value;
NotifyPropertyChanged("UserName");
}
}
public bool UserLoggedIn
{
get { return isLoggedIn; }
set
{
isLoggedIn = value;
NotifyPropertyChanged("UserLoggedIn");
}
}
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
public static UserInfo GetUserInfo()
{
return _instance;
}
}
我主要有:
public class MainWindow
{
UserInfo currentUser = UserInfo.GetUserInfo();
}
XAML 是:
<Button IsEnabled="{Binding ElementName=currentUser, Path=UserLoggedIn}"/>
【问题讨论】:
标签: wpf binding inotifypropertychanged isenabled