2015-04-07 4 views
1

В моем окне есть несколько элементов управления, которые выполняют одно и то же действие.Наличие нескольких элементов управления с использованием того же CommandBinding в WPF?

Например, у меня есть MenuItem

<MenuItem x:Name="_mnuNew" Command="New" Header="_New" InputGestureText="Ctrl+N"/> 

и Button

<Button x:Name="_btnNew" Command="New"/> 

исполняющей "Новый" Command

<Window.CommandBindings> 
    <CommandBinding Command="New" CanExecute="IsNewExecuteable" Executed="NewExecute" /> 
</Window.CommandBindings> 

Отнесение работает как желательные для MenuItem. Установка команды для Button результатов в NullReferenceException

Я читал here, что Command Наручники делать также работают на кнопки, так что я делаю неправильно.

EDIT:

private void IsNewExecuteable(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e) 
    { 
     e.CanExecute = IsRunning; //IsRunning is a siple property that is tested and works 
    } 
+0

он прекрасно работает на моем конце .. там что-нибудь большее? – Muds

+0

@LuckyLikey Я могу только подозревать, что есть проблема в 'NewExecute' (возможно,' IsNewExecuteable'). По меньшей мере, трассировка стека исключений. – dkozl

+0

@dkozl Столбец состоит из 8800 символов .. не могу опубликовать его ^^, но верхний - это * bei System.Windows.Input.CommandBinding.OnCanExecute (отправитель объекта, CanExecuteRoutedEventArgs e) * – LuckyLikey

ответ

0

CommandBinding Вся часть была хорошо, но там была ошибка внутри IsNewExecuteable, в которой я доверял и который был явно не так.

Извините, что не задал этот вопрос, каждый раз, когда я использую новую технику, я не вижу очевидных ошибок.

Во всяком случае спасибо тем, кто помог