我已经构建了一个简单的WPF应用程序,可以在一个框架中浏览页面,但其中一个框架是一个图片查看器,我想要它,这样如果有人双击图片就会全屏显示(即帧)。
在WPF中执行此操作的最佳方法是什么?
答案 0 :(得分:0)
您应该能够自己创建一个自定义的RoutedUICommand,可能称为“EnterFullScreen”,您可以在页面中代表图像查看器。您只需在主窗口中将CommandBinding挂钩到此处,这样无论何时触发该命令,您都会做出反应。显然你也需要相反的“ExitFullScreen”,这样每个页面都可以提供自己的用户界面以退出全屏模式。
以下是定义和挂钩命令的代码:
public partial class MyWindow : Window
{
public static readonly RoutedUICommand EnterFullScreenCommand =
new RoutedUICommand("Enter fullscreen mode",
"EnterFullScreen",
typeof(MyWindow));
public static readonly RoutedUICommand ExitFullScreenCommand =
new RoutedUICommand("Exit fullscreen mode",
"ExitFullScreen",
typeof(MyWindow));
public MyWindow()
{
this.InitializeComponent();
this.CommandBindings.Add(
new CommandBinding(MyWindow.EnterFullScreenCommand,
(sender, args) =>
{
// logic to go fullscreen here
},
(sender, args) =>
{
args.CanExecuted =
// am I already fullscreen?
}));
this.CommandBindings.Add(
new CommandBinding(MyWindow.ExitFullScreenCommand,
(sender, args) =>
{
// logic to exit fullscreen here
},
(sender, args) =>
{
args.CanExecuted =
// am I fullscreen right now?
}));
}
然后在你的页面中你只需使用这个命令:
<Button Command="{x:Static myNS:MyWindow.EnterFullScreenCommand}" />