0

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

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

4

1 回答 1

0

您应该能够为自己创建一个自定义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}" />
于 2009-10-22T13:09:32.900 回答