簡體   English   中英

如何設置實際導航的Silverlight超鏈接按鈕?

[英]How do I set up a Silverlight hyperlinkbutton that actually navigates?

在SL4中,我發現很難弄清楚如何使HyperlinkBut​​ton在單擊時導航到同一應用程序中的另一個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() )。

您需要將HyperlinkBut​​ton的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM