WPF 用command打开超链接Hyperlink
看的其他大佬的代码,根据自己需要实现的WPF 用command打开超链接Hyperlink的代码,仅用于交流学习,不要搬运(me vegetable,u know?),不要做小垃圾的搬运工!!!
xmal代码,binding控件自身,并赋值NavigateUri参数的值为目标网站地址(注意网站格式,可以在浏览器手动测试能否打开)
<TextBlock Grid.Row="5" Margin="0,3" HorizontalAlignment="Right" VerticalAlignment="Top" Focusable="False" FontSize="12"> <Hyperlink Command="{Binding OpenForgetPWD_Hyperlink_Command}" CommandParameter="{Binding RelativeSource={x:Static RelativeSource.Self}}" NavigateUri="https://www.cnblogs.com/sanmannn/"> 忘记密码 </Hyperlink> </TextBlock>
定义一个打开网页的函数,无返回值
/// <summary> /// 用浏览器打开网页 /// </summary> /// <param name="url"></param> public static void OpenInBrowser(string url) { //判断操作系统是否为 Windows if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { //修正格式 url = url.Replace("&", "^&"); // ProcessStartInfo的使用是必需的,因为我们需要用cmd命令打开目标网站 // 设置它的 CreateNoWindow = true以防止 cmd 窗口出现 //ProcessStartInfo processStartInfo = new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true }; Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true }); } }
最后在后端的Command命令,OpenInBrowser()函数定义在FuncHelper.cs里
#region<忘记密码 Hyperlink Command> private CommandBase _openForgetPWD_Hyperlink; public CommandBase OpenForgetPWD_Hyperlink_Command { get { if (_openForgetPWD_Hyperlink == null) { _openForgetPWD_Hyperlink = new CommandBase(); _openForgetPWD_Hyperlink.DoExecute = new Action<object>(obj => { //调用下就ok啦 FuncHelper.OpenInBrowser((obj as Hyperlink).NavigateUri.ToString()); }); } return _openForgetPWD_Hyperlink; } } #endregion
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」