我正在構建一個用於娛樂/學習等的Windows 8地鐵應用程序。
我創建了一個包含說明,圖片等文本項目的列表視圖。超鏈接,我想使點擊。在Windows 8 Metro綁定超鏈接到richtextblock Metro應用程序
但是,當綁定到文本塊時,xaml超鏈接代碼將顯示爲文本。搜索周圍,它看起來像我需要使用richtextblock超鏈接。我似乎無法弄清楚如何將超鏈接綁定到它。我從wpf中發現了很多示例,展示瞭如何使用flowdocument擴展richtextblock。 Flowdocument在框架的當前使用者預覽版本中不存在。
我想了解是否有人已經解決了這個問題,或者有什麼方法可以降下來。
編輯: 代碼,我目前
現在我只是從我的以下狀態對象綁定「文本」字段中的文本塊上的「文本」
結合我的URL文本字段,我希望能夠點擊。
作爲測試我用超級鏈接標記
前替換第一對象的文本字段。 feed_results [0]的.text =「<hyperlink .....
然後試圖綁定到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);
}
你能告訴我們你現在有的代碼嗎? – svick 2012-03-24 12:45:05
在WPF/Silverlight中,如果鏈接足夠簡單(只是單個文本或圖像),我會使用HyperlinkButton。也許它也可以在Metro中使用? (我沒有我的VS11方便)。 – jv42 2012-03-26 07:54:22