У меня есть абсолютно no Идея, что вызывает это.RaiseCanExecuteChanged не работает в скомпилированном exe Но работает ли при отладке
фона: Использование Prism Framework
- Я кнопка привязана к
DelegateCommand
- я называю
RaiseCanExecuteChanged
Когда я запустить приложение в режиме отладки в Визуальная Studio, все работает отлично. Приложение работает отлично.
Когда я открываю приложение через .exe, метод RaiseCanExecuteChanged
не вызывается. Я понятия не имею, почему это так. Кто-нибудь еще сталкивается с подобной проблемой?
EDIT: Когда я первый открыть приложение через EXE, RaiseCanExecuteChanged
называется (так как я поставил его в конструкторе моего ViewModel
). Однако он никогда не называется снова.
код в случае его необходимости:
private readonly DelegateCommand _buttonCommand;
public ViewModel()
{
_buttonCommand = new DelegateCommand(Button, CanExecuteButton);
}
public DelegateCommand ButtonCommand
{
get { return this._buttonCommand; }
}
public void Button()
{
... do stuff ...
_buttonCommand.RaiseCanExecuteChanged();
}
public bool CanExecuteButton()
{
if (some condition)
return true;
else
return false;
}
<Button x:Name="MyButton" Content="ClickMe"
Command="{Binding ButtonCommand}">
Я даже получил отчаянный и попытался положить IsEnabled
свойство в моем Баттона, который я связан с CanExecuteButton
... безрезультатно.
Вы можете разместить код вашего 'ButtonCommand'? –
Решенный, но я не знаю почему. Сейчас это работает ... – Bryant