2011-05-06 61 views
1

聲明:我真的是WPF的新手,所以我對這個愚蠢的問題表示歉意。使用帶有動態URL的WPF超鏈接控件

我有一個包含一個超鏈接標籤,如果網址是硬編碼到XAML,像這樣的作品罰款WPF形式:

<TextBlock Margin="171,148,129,70"> 
     <Hyperlink NavigateUri="http://www.somesite.com" RequestNavigate="Hyperlink_RequestNavigate"> 
      <TextBlock Text="Open site in browser" /> 
     </Hyperlink> 
    </TextBlock> 

用下面的代碼背後:

protected void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
    { 
     Process.Start(new ProcessStartInfo(e.Uri.AbsoluteUri)); 
     e.Handled = true; 
    } 

我想要做的是使這個超鏈接的目標網址動態。我添加了一個新窗口(作爲對話框調用)以獲取新的鏈接,然後將其分配給主窗口類的私有成員,使其返回「真」。我如何調整XAML標記/代碼隱藏以便隨時使用類成員(我將在構造函數中設置爲默認值),而不是將其硬編碼到標記中?

在此先感謝,併爲noob問題感到抱歉。我必須使用錯誤的搜索條件。

回答

2

您可以使用按鈕樣式看起來像超鏈接並將CommandParameter綁定到您的URL。然後你會設置Command運行是這樣的:

public void OpenWebsite(string url) 
{ 
    Process.Start(url); 
} 
0

只要改變你的超級鏈接_requestNavigate方法使用私有變量:

protected void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e) 
{ 
    Process.Start(new ProcessStartInfo(privateVariableName)); 
    e.Handled = true; 
}