![](/img/trans.png)
[英]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.