Reputation: 399
i would like to enable/disable buttons according to the current active userlevel. i have a property in the MV for the current userlevel:
public int CurrentUserLevel
{
get { return _CurrentUserLevel; }
set
{
if (_CurrentUserLevel == value)
return;
_CurrentUserLevel = value;
RaisePropertyChanged("CurrentUserLevel");
}
}
how can i enable/disable the button if this value is >=x?
Upvotes: 2
Views: 2316
Reputation: 8095
You'll need to create a property in your ViewModel, for which the Button's IsEnabled
property can bind to. Make sure that the new property's PropertyChanged
event is raised whenever the CurrentUserLevel
is changed.
public int CurrentUserLevel
{
get { /*...*/ }
set
{
/*...*/
RaisePropertyChanged("CurrentUserLevel");
RaisePropertyChanged("IsAllowedToDoSomething"); //dependant property
}
}
public bool IsAllowedToDoSomething
{
get { return CurrentUserLevel > 1; }
}
And in your XAML:
<Button IsEnabled="{Binding IsAllowedToDoSomething}" Content="Click me!" />
Upvotes: 4