[英]How can I add an underline to a HyperlinkButton in Silverlight?
[英]How do I set up a Silverlight hyperlinkbutton that actually navigates?
在SL4中,我發現很難弄清楚如何使HyperlinkButton在單擊時導航到同一應用程序中的另一個Silverlight頁面。 結構為:
<HyperlinkButton Content="Technical Information Screen" Height="23"
Name="hyperlinkButton1" Width="320" NavigateUri="/tis.xaml" />
“ tis.xaml”與MainPage.xaml位於同一文件夾中,該按鈕位於該文件夾中。 單擊后,該按鈕將引發“ 404 Not Found”。
如果我更改為以導航方式在MainPage構造函數中填充NavigateUri,如下所示:
hyperlinkButton1.NavigateUri = new Uri("/tis.xaml", UriKind.Relative);
我得到了相同的結果,就像不使用“ /”裝飾並且UriKind設置為Absolute或RelativeOrAbsolute一樣。 這一切都是非常神秘的,但是我知道它一定是可行的,或者為什么要完全控制呢?
超鏈接按鈕的默認行為是將瀏覽器指向其他頁面(即整個其他HTML頁面)。
此處詳細說明了同一應用程序中XAML頁面之間的導航(我想您必須在超鏈接按鈕的click事件中調用NavigationService.Navigate()
)。
您需要將HyperlinkButton的TargetName屬性設置為要在新頁面中填寫的navigation:Frame控件的名稱。 精簡為基本要素:
<UserControl ...
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation">
<Grid>
<HyperlinkButton Content="Technical Information Screen" NavigateUri="/tis.xaml" TargetName="ContentFrame"/>
<navigation:Frame x:Name="ContentFrame"/>
</Grid>
</UserControl>
很有可能是uri格式的問題,請嘗試指向托管silverlight控件的aspx頁面。
超鏈接Button1.NavigateUri =新的Uri(“ http://foo.page.aspx”);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.