0

抱歉这个疯狂的问题

我是使用 c# 的新 wp 开发人员。

我想了解将超链接链接到另一个表单的解决方案。现在我已经有列表框使用来自数据源绑定的数据了。

此案例与 webboard 的列表线程相同,并触摸以获取详细信息的链接。

如何从列表框中的链接导航到另一个表单?

我的代码看起来像这样,我想让链接替换文本块:

<ListBox.ItemTemplate >
                <DataTemplate>
                    <StackPanel Margin="0,0,0,17" Width="432" Orientation="Horizontal">
                        <Image Source="../Media/Images/play.png" />
                        <StackPanel >
                            <TextBlock Text="{Binding Title}" 
                               TextWrapping="Wrap" 
                               Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                            <TextBlock Text="{Binding ShortDescription}" 
                               TextWrapping="Wrap" Margin="12,-6,12,0" 
                               Visibility="{Binding ShortDescriptionVisibility}" 
                               Style="{StaticResource PhoneTextSubtleStyle}"/>
                            <TextBlock Text="{Binding LongDescription}"
                               TextWrapping="Wrap" 
                               Visibility="{Binding LongDescriptionVisibility}"/>
                            <StackPanel>
                                <Slider HorizontalContentAlignment="Stretch"
                                   VerticalContentAlignment="Stretch" 
                                   Visibility="{Binding LongDescriptionVisibility}" 
                                   ValueChanged="Slider_ValueChanged" 
                                   LargeChange="0.25" SmallChange="0.05"/>
                            </StackPanel>
                        </StackPanel>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>
4

1 回答 1

0

场景 1:导航到 Web URL 假设您的数据源有一个带有 URL 的字段(我们称之为 NavigateToPageUrl),当用户单击该链接时您想要导航到该字段。在这种情况下,在内部堆栈面板内(即在绑定到 LongDescription 的文本框下方)您可以编写以下代码:

场景 2:在同一应用程序中的表单之间导航:在这种情况下,您应该拥有表单名称(比如说 NavigateToThisForm.xaml),在这种情况下,您可以向任何堆栈面板添加一个标签,例如 Tag="/navigatetothisform。 xaml”并为堆栈面板编写事件处理程序。完整的代码将是:

<StackPanel Tag="/Page2.xaml" Tap="StackPanelTap">
// Your code to add title and other fields.
</StackPanel>



private void StackPanelTap(object sender, GestureEventArgs e)
{
    var stackpanel = (StackPanel)sender;
    var navigateUrl = stackpanel.Tag.ToString();
    NavigationService.Navigate(new Uri(navigateUrl, UriKind.Relative));
} 

我希望它有所帮助。

于 2012-09-09T22:07:40.527 回答