gpt4 book ai didi

xaml - 在 Windows 8 Metro 应用程序中将超链接绑定(bind)到 Richtextblock

转载 作者:行者123 更新时间:2023-12-04 05:52:59 27 4
gpt4 key购买 nike

我正在构建一个 Windows 8 Metro 应用程序来娱乐/学习等。
我创建了一个包含描述、图像等的文本项目的 ListView 。在描述中,通常有一些超链接,我想让它们可点击。

但是,当绑定(bind)到文本 block 时,xaml 超链接代码显示为文本。搜索arround,看起来我需要为超链接使用richtextblock。我似乎无法弄清楚如何将超链接绑定(bind)到它。我从 wpf 中找到了许多示例,展示了如何使用 flowdocument 扩展 Richtextblock。 Flowdocument 在框架的当前消费者预览版中不存在。

我正在联系,看看是否有人解决了这个问题,或者有什么建议可以走下去。

编辑:
我目前拥有的代码

现在我只是将状态对象中的“文本”字段绑定(bind)到“文本”上的文本 block 绑定(bind)

我希望能够使其可点击的文本字段中有 URL。

作为测试,我用超链接标记替换了第一个对象的文本字段

前任。
feed_results[0].text = "<hyperlink .....
然后尝试绑定(bind)到 texblock 和 richtextblock

Xaml

<ListView x:Name="ItemListView" ItemsSource="{Binding}"  Background="Black" Width="372" VerticalAlignment="Top" Margin="50,0,0,0">
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" MinHeight="100">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding user.profile_image_url}" Margin="0,0,15,0" VerticalAlignment="Top" />
<StackPanel Orientation="Vertical">
<TextBlock HorizontalAlignment="Left" Foreground="Gray" Text="{Binding user.name}" FontWeight="Bold" TextWrapping="Wrap" MaxWidth="200" />
<TextBlock HorizontalAlignment="Left" Foreground="Gray" Text="{Binding text}" TextWrapping="Wrap" MaxWidth="200" />
</StackPanel>
</StackPanel>
<StackPanel Margin="0,15,0,0" HorizontalAlignment="Right">
<TextBlock Text="{Binding created_at, Converter={StaticResource StringConverter},ConverterParameter=Released: \{0:d\}}" HorizontalAlignment="Center" Foreground="Gray" />
</StackPanel>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>

后台代码
FeedResult<Statuses> r2 = await feed.StatusesAsync(1, 50);

if (!r2.HasError)
{
feed_results = r2.Result;


Dispatcher.Invoke(Windows.UI.Core.CoreDispatcherPriority.High, new Windows.UI.Core.InvokedHandler((o, a) =>
{

ItemListView1.ItemsSource = feed_results;
}), this, null);
}

最佳答案

Microsoft 从 Metro XAML 中删除了对内联超链接的支持。您仍然可以使用 HyperlinkButton对于非内联超链接,或者如果您的内联超链接很短(1-2 个字),那么您可以将 HyperlinkBut​​ton 放置在 RichTextBlock 中的 InlineUIContainer 内。稍后的解决方案将需要一些代码,仅使用绑定(bind)不会这样做。

关于xaml - 在 Windows 8 Metro 应用程序中将超链接绑定(bind)到 Richtextblock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9851833/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com