我有 2 个按钮,我想根据计数器禁用/启用
这是我的柜台
private int _stepCounter = 0;
public int StepCounter
{
get { return _stepCounter; }
set{_stepCounter=value; OnPropertyChanged("StepCounter");}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
我写了以下 IValueConverter
[ValueConversion(typeof(int), typeof(bool))]
class inttobool : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture, string ButtonName)
{
int stepcount = (int)value;
if (stepcount == 0 && ButtonName == "PreviousStepButton")
{
return false;
}
else if (stepcount == 5 && ButtonName == "NextStepButton")
{
return false;
}
else
{
return true;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture, string Buttonname)
{
return null;
}
}
我的按钮看起来像下面
<Button Name="NextStepButton" Content="Next Step" Click="NextStepButton_Click" />
<Button Name="PreviousStepButton" Content="PreviousStep"click="PreviousStepButton_Click" />
NextStepButton_Click
事件将计数器加一
PreviousStepButton_Click
事件将计数器减一
我正在尝试学习 mvvm,我的问题是如何将我单击的按钮的名称发送到转换器?
XAML 中 IsEnabled 属性中的绑定语句应该是什么样的?
我需要NextStepButton
在计数器变为 5 时禁用,PreviousStep
当计数器变为 0 时我需要禁用,否则两者都启用。