gpt4 book ai didi

c# - 通过 C# WPF 表单中的代码在网络浏览器(IE 或 chrome)中打开超链接 URI(www.google.com)

转载 作者:太空宇宙 更新时间:2023-11-03 15:20:50 24 4
gpt4 key购买 nike

我正在处理一个包含超链接的项目。我使用 DataGridHyperlinkColumn 在单个列中填充 URI。每当我单击 URI 时,它都会在浏览器和 wpf 窗口中打开。我可以使用 hyperlink.RequestNavigate() 阻止 URI 在 Web 浏览器中打开。

但我只需要在 Web 浏览器中打开 URI,而不是在 WPF 窗口中打开。我在下面附上了我的 XAML 和 C# 代码。

<DataGrid Name="dgUsers"  AutoGenerateColumns="False" CanUserAddRows="False" BorderThickness="0" CanUserResizeRows="False" GridLinesVisibility="None" HeadersVisibility="None" Focusable="False" Visibility="{Binding DgVisibility}">
<DataGrid.Resources>
<Style TargetType="Hyperlink">
<EventSetter Event="Click" Handler="DG_Hyperlink_Click"/>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>

<DataGridHyperlinkColumn Binding="{Binding WebSite}" Width="*" CanUserResize="False" CanUserSort="False" IsReadOnly="True" >
<DataGridHyperlinkColumn.ElementStyle>
<Style>
<!--EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click"/-->
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
</DataGrid.Columns>
</DataGrid>

C# 代码如下。

 public MainWindow()
{
InitializeComponent();

List<User> users = new List<User>();
users.Add(new User() { WebSite = new Uri("http://www.google.com") });
users.Add(new User() { WebSite = new Uri("http://www.yahoo.com") });
users.Add(new User() { WebSite = new Uri("http://www.gmail.com") });
//DgVisibility = Visibility.Hidden;
//userslink = users;
dgUsers.ItemsSource = users;

}

public class User
{
public Uri WebSite { get; set; }
}

private void DG_Hyperlink_Click(object sender, RoutedEventArgs e)
{
Hyperlink link = (Hyperlink)e.OriginalSource;
Process.Start(new ProcessStartInfo(link.NavigateUri.AbsoluteUri));
}

提前致谢。

最佳答案

从评论中复制:

将文本列与仅包含文本的自定义模板结合使用,并使用交互触发器将鼠标点击绑定(bind)到处理程序。

在 MouseOver 触发器上添加一个将前景设置为红色/蓝色的样式,以模仿 url 的外观。这基本上就是超链接控件所做的。

关于c# - 通过 C# WPF 表单中的代码在网络浏览器(IE 或 chrome)中打开超链接 URI(www.google.com),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37429964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com