2012-03-24 142 views
2

我正在構建一個用於娛樂/學習等的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); 
      } 
+0

你能告訴我們你現在有的代碼嗎? – svick 2012-03-24 12:45:05

+0

在WPF/Silverlight中,如果鏈接足夠簡單(只是單個文本或圖像),我會使用HyperlinkBut​​ton。也許它也可以在Metro中使用? (我沒有我的VS11方便)。 – jv42 2012-03-26 07:54:22

回答

3

微軟除去用於在線支持來自Metro XAML的超鏈接。您仍然可以使用HyperlinkButton爲非內聯超鏈接,或者如果內聯超鏈接短(1-2個字),則可以將HyperlinkBut​​ton放入RichTextBlock中的InlineUIContainer內。後來的解決方案需要一些代碼,只是使用綁定不會這樣做。

+0

我希望他們把它放回去。 – 2012-05-23 10:29:34

相關問題