Кнопка отключена после добавления команды - PullRequest
0 голосов
/ 19 июня 2019

Может выглядеть глупо.Не удалось выяснить, когда при привязке команды кнопка отключила образец кода здесь,

У меня есть пользовательский элемент управления,

public class Stepper: ListBox
{
        /// <summary>
        /// Internal command used by the XAML template (public to be available in the XAML template). Not intended for external usage.
        /// </summary>
        public static readonly RoutedCommand BackCommand = new RoutedCommand();

        static Stepper()
        {
            DefaultStyleKeyProperty.OverrideMetadata(typeof(UXStepper), new FrameworkPropertyMetadata(typeof(Stepper)));
        }

        public UXStepper()
        {
            CommandBindings.Add(new CommandBinding(BackCommand, (o, e) => ZoomFit(), (o, e) => e.CanExecute = true));
        }

        private void ZoomFit()
        {
            //some implementation
        }
}

XAML-код

 <Button HorizontalAlignment="Center" 
         VerticalAlignment="Center"
         Content="Back"
         Command="{x:Static shui:Stepper.BackCommand}"/>

1 Ответ

0 голосов
/ 19 июня 2019

Если я правильно понял: ваша проблема в том, что привязка не работает

  • , если вы хотите связать что-то со статическим свойством, чем вы должны определить источник
<Window.Resources>
    <shui:Stepper x:Key="stepper"/>
</Window.Resources>

<Button HorizontalAlignment="Center" 
        VerticalAlignment="Center"
        Content="Back"
        Command="{BackCommand, Source={StaticResource stepper}}"/>

  • или вы можете просто привязать его к вашему синглтону (если он у вас есть)

<Button HorizontalAlignment="Center" 
        VerticalAlignment="Center"
        Content="Back"
        Command="{BackCommand, Source={x:Static shui:Stepper.Instance}}"/>

...