カウンターに基づいて無効/有効にしたい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
イベントはカウンターを 1 つ増やします イベントはカウンターを 1 つ
PreviousStepButton_Click
減らします
mvvm を学習しようとしていますが、クリックしたボタンの名前をコンバーターに送信するにはどうすればよいですか?
XAML の IsEnabled プロパティのバインディング ステートメントはどのようにすべきでしょうか?
NextStepButton
カウンターが 5 になったときに無効にする必要があり、カウンターが 0 になったときに無効にする必要がありますPreviousStep
。それ以外の場合は、両方が有効になっています。