我已经构建了一个简单的 WPF 应用程序,它在框架中的页面之间导航,但是其中一个框架是图片查看器,我想要它,这样如果有人双击图片,它就会全屏显示(即在框架之外)。
在 WPF 中执行此操作的最佳方法是什么?
我已经构建了一个简单的 WPF 应用程序,它在框架中的页面之间导航,但是其中一个框架是图片查看器,我想要它,这样如果有人双击图片,它就会全屏显示(即在框架之外)。
在 WPF 中执行此操作的最佳方法是什么?
您应该能够为自己创建一个自定义RoutedUICommand,可能称为“EnterFullScreen”,您可以从代表图像查看器的页面中提出它。您只需在主窗口中将 CommandBinding 与此挂钩,以便每当触发该命令时,您就会做出反应。显然,您还需要相反的“ExitFullScreen”,以便每个页面都可以提供自己的 UI 来退出全屏模式。
以下是用于定义和连接命令的代码:
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}" />