代码之家  ›  专栏  ›  技术社区  ›  Cyberherbalist

如何设置实际导航的Silverlight超链接按钮?

  •  0
  • Cyberherbalist  · 技术社区  · 15 年前

    <HyperlinkButton Content="Technical Information Screen" Height="23"
    Name="hyperlinkButton1" Width="320" NavigateUri="/tis.xaml" />
    

    “tis.xaml”与MainPage.xaml位于同一文件夹中,此按钮位于该文件夹中。单击时,按钮会显示“404未找到”。

    如果我改为在主页构造函数中以编程方式填充NavigateUri,如下所示:

    hyperlinkButton1.NavigateUri = new Uri("/tis.xaml", UriKind.Relative);
    

    我得到了同样的结果,因为我没有用“/”来修饰,而UriKind设置为绝对或相对溶质。这一切都很神秘,但我知道这一定是可以做到的,或者为什么有控制权呢?

    3 回复  |  直到 15 年前
        1
  •  2
  •   Francesco De Vittori    15 年前

    超链接按钮的默认行为是将浏览器指向其他页面(即整个其他HTML页面)。

    here (我想你得打个电话 NavigationService.Navigate()

        2
  •  2
  •   Keith Robertson    15 年前

    您需要将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>
    
        3
  •  0
  •   jeffo    15 年前

    最可能的问题是uri格式,请尝试指向承载silverlight控件的aspx页面。

    hyperlinkButton1.NavigateUri=new Uri(“http://foo.page.aspx”);