Я хочу реализовать простую кнопку закрытия в окне WPF. Окно в основном выглядит так:
<Window x:Class="MyApplication.MainWindow"
xmlns=""....
...."
Title="MainWindow" WindowState="Maximized" WindowStartupLocation="CenterScreen" x:Name="mainWindow">
<DockPanel LastChildFill="True">
<Ribbon DockPanel.Dock="Top">
<Ribbon.ApplicationMenu>
<RibbonApplicationMenu SmallImageSource="Resources/menu_16x16.png">
<RibbonApplicationMenu.FooterPaneContent>
<RibbonButton Label="Beenden"
Command="{Binding CmdCloseApp}"
CommandParameter="{Binding ElementName=mainWindow}"
SmallImageSource="Resources/ende_16x16.png"
HorizontalAlignment="Right"/>
</RibbonApplicationMenu.FooterPaneContent>
</RibbonApplicationMenu>
</Ribbon.ApplicationMenu>
</Ribbon>
</DockPanel>
</Window>
DataContext этого окна установлен в коде программной части как экземпляр MainWindowViewModel
MainWindowViewModel:
public class MainWindowViewModel
{
public ICommand CmdCloseApp { get; set; }
public MainWindowViewModel()
{
CmdCloseApp = new RelayCommand<Window>(CloseApp);
}
public void CloseApp(Window w)
{
w.Close();
}
}
В CloseApp
w всегда ноль. Все остальные команды со строковыми параметрами и т. Д. Работают отлично - моя единственная проблема в том, что я не получаю, что элемент окна не находит путь к моей модели просмотра.
Спасибо за вашу помощь!
ИЗМЕНИТЬ Мне очень жаль, я попробовал с помощью простой кнопки, и это сработало - проблема возникает только с RibbonButton
FindAnchestor
-, но остается нулевым - person CeOnSql   schedule 24.06.2016