我正在使用TextBox中的超链接添加指向我的WPF应用的链接:
<TextBlock Margin="480,92,460,713" Height="24">
<Hyperlink NavigateUri="{Binding MyLink}" RequestNavigate="Hyperlink_RequestNavigate">My Link</Hyperlink>
</TextBlock>
绑定“MyLink”不起作用。我需要使用的链接有一个查询字符串,其中包含一个需要在代码中动态更改的变量。如果我尝试将链接硬编码到XAML中,我会收到错误,因为查询字符串有一个带符号的变量。
当我将其指向谷歌这样的网站时,我的链接正在运行。但我需要在c#代码中设置它,并能够在查询字符串中设置我的变量。有没有办法做到这一点?谢谢!
答案 0 :(得分:1)
你在做什么应该工作......
要测试这个,请创建一个默认的WPF应用程序,并将以下代码放在Window1.xaml的Grid中......
<TextBlock>
<Hyperlink NavigateUri="{Binding}" RequestNavigate="Hyperlink_RequestNavigate">My Link</Hyperlink>
</TextBlock>
...在Window1.xaml.cs中添加此...
public Window1()
{
InitializeComponent();
this.DataContext = "whatever the heck i want";
}
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
//e.Uri will display "whatever the heck i want"
//which would allow you to do whatever you want
//with the URL at that point
Process.Start(new ProcessStartInfo("url_you_want_to_use"));
e.Handled = true;
}