Как направить IsEnabledChanged (не маршрутизированное событие) в WPF EventHandler - PullRequest
1 голос
/ 20 сентября 2019

Я просто пытаюсь сбросить значение элемента NumericUpDown в xaml до 0, когда IsEnabled становится ложным, но проверка изменений IsEnabled не является перенаправленным событием.Это то, что у меня сейчас не работает, потому что это событие не является маршрутизируемым событием

Мой код XAML:

<CheckBox Name="AirportTemplate">Airport</CheckBox>

      <NumericUpDown Name="AirportToGen"
                     Width="300"
                     Minimum="0"
                     IsEnabled="{Binding ElementName=AirportTemplate, Path=IsChecked}"
                     IsEnabledChanged="ResetValueAirport"/>

Мой код позади C #

private void ResetValueAirport(object sender, EventArgs e)
        {
            if (!AirportToGen.IsEnabled)
            {
                AirportToGen.Value = 0;
            }
        }

1 Ответ

0 голосов
/ 21 сентября 2019

Я предполагаю, что вы используете класс NumericUpDown из расширенного инструментария WPF, и в этом случае для события IsEnabledChanged требуется обработчик с подписью private void handler(object sender, DependencyPropertyChangedEventArgs e).Так что в вашем коде используйте это вместо:

private void ResetValueAirport(object sender, System.Windows.DependencyPropertyChangedEventArgs e)
    {
        if (!AirportToGen.IsEnabled)
        {
            AirportToGen.Value = 0;
        }
    }
...