我想在 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
主窗口视图模型:
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