繁体   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