我想根据当前活动的用户级别启用/禁用按钮。我在MV中有一个当前用户级别的属性:
public int CurrentUserLevel
{
get { return _CurrentUserLevel; }
set
{
if (_CurrentUserLevel == value)
return;
_CurrentUserLevel = value;
RaisePropertyChanged("CurrentUserLevel");
}
}
如果此值为> = x?
,如何启用/禁用按钮?答案 0 :(得分:2)
您需要在ViewModel中创建一个属性,Button的IsEnabled
属性可以绑定到该属性。确保在PropertyChanged
发生更改时引发新属性的CurrentUserLevel
事件。
public int CurrentUserLevel
{
get { /*...*/ }
set
{
/*...*/
RaisePropertyChanged("CurrentUserLevel");
RaisePropertyChanged("IsAllowedToDoSomething"); //dependant property
}
}
public bool IsAllowedToDoSomething
{
get { return CurrentUserLevel > 1; }
}
在你的XAML中:
<Button IsEnabled="{Binding IsAllowedToDoSomething}" Content="Click me!" />