如何在Windows手机上创建列表框和链接

时间:2012-08-23 04:22:03

标签: c# hyperlink listbox windows-phone

抱歉疯狂的问题

我是一个使用c#的新wp开发。

我想了解有关制作指向其他表单的超链接的解决方案。 现在我已经使用数据源绑定的列表框数据了。

此案例与网页相同的列表线程和触摸链接到详细信息。

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

我的代码看起来像这样,我想将链接替换为textblock:

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

1 个答案:

答案 0 :(得分:0)

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

场景2:在同一应用程序中的表单之间导航: 在这种情况下,你应该有你的Form名称(比如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));
} 

我希望它有所帮助。