如何创建一个自定义的WPF命令来启动我的firefox浏览器

本文关键字:WPF 命令 启动 我的 浏览器 firefox 一个 何创建 创建 自定义 | 更新日期: 2023-09-27 17:58:04

我正在尝试创建两个自定义WPF命令:一个名为WebBrowser,用于在调用时启动我的Firefox浏览器,另一个仅用作调用时的简单退出命令。我一直在胡思乱想,但我想我并没有想象中那么聪明。我只能想出退出命令。如何调用我的浏览器让我抓狂,因为我搞不懂。如有任何帮助,我们将不胜感激。这就是我到目前为止所拥有的。

XAML代码:

<Window x:Class="WpfTutorialSamples.Commands.CustomCommandSample"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:self="clr-namespace:WpfTutorialSamples.Commands"
    Title="CustomCommandSample" Height="150" Width="200">
<Window.CommandBindings>
    <CommandBinding Command="self:CustomCommands.Exit"  CanExecute="ExitCommand_CanExecute" Executed="ExitCommand_Executed" />
</Window.CommandBindings>
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    <Menu>
        <MenuItem Header="File">
            <MenuItem Command="self:CustomCommands.Exit" />
        </MenuItem>
    </Menu>
    <StackPanel Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center">
        <Button Command="self:CustomCommands.Exit">Exit</Button>
    </StackPanel>
</Grid>
</Window>

代码背后:

using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
namespace WpfTutorialSamples.Commands
{
    public partial class CustomCommandSample : Window
    {
            public CustomCommandSample()
            {
                    InitializeComponent();
            }
            private void ExitCommand_CanExecute(object sender, CanExecuteRoutedEventArgs e)
            {
                    e.CanExecute = true;
            }
            private void ExitCommand_Executed(object sender, ExecutedRoutedEventArgs e)
            {
                    Application.Current.Shutdown();
            }
    }
    public static class CustomCommands
    {
            public static readonly RoutedUICommand Exit = new RoutedUICommand
                    (
                            "Exit",
                            "Exit",
                            typeof(CustomCommands),
                            new InputGestureCollection()
                            {
                                    new KeyGesture(Key.F4, ModifierKeys.Alt)
                            }
                    );
    }
}

如何创建一个自定义的WPF命令来启动我的firefox浏览器

如果你想专门打开Firefox,并且你已经保证它存在,你可以做一些事情,比如:

System.Diagnostics.Process.Start(WhereFirefoxIs, SomeUrl);

URL可以类似于Firefox的about:blank,也可以是可选的。

事实上,如果你想在系统默认浏览器中打开一个URL,这可能会更安全一些,你可以Start(SomeUrl)并让Windows决定如何处理它。但是,要注意它是一个网络URL,这样你就不会执行本地文件。