我已经构建了一个简单的WPF应用程序,可以在一个框架中浏览页面,但其中一个框架是一个图片查看器,我想要它,这样如果有人双击图片就会全屏显示(即帧)。

在WPF中执行此操作的最佳方法是什么?

有帮助吗?

解决方案

您应该可以自己创建一个自定义的 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}" />
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top