2011-02-03 11 views
2

私はフィードバーナーフィード(XML形式)を解析し、フィードからデータを抽出し、不要なデータをスクラブして画面に吐き出す単純なアプリケーションを作成しようとしています。listBoxのテキストが折り返されない

listBoxにテキストをラップするのに問題があります。私はこの数日を頭を机に向かって叩いて、これを働かせるよう努力しました。私はSilverlight ToolkitをインストールしてWrapPanelを使用しようとしていますが、動作したくないようです。テキストはlistBoxでうまく表示されますが、テキストを折り返すようには見えません。

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 

      <ListBox x:Name="listBox1" Width="456" Height="646" ItemsSource="{Binding}" ScrollViewer.HorizontalScrollBarVisibility="Disabled"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
         <toolkit:WrapPanel /> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
      </ListBox> 
    <Grid> 

は、ここで私リストボックスに項目を追加するために使用しているコードの抜粋です:

StringReader stream = new StringReader(e.Result); 
      XmlReader reader = XmlReader.Create(stream); 
      string areaName = String.Empty; 

      while (reader.Read()) 
      { 
       if (reader.NodeType == XmlNodeType.Element) 
       { 
        if (reader.Name == "description") 
        { 
         areaName = reader.ReadElementContentAsString(); 
         areaItem = new ListBoxItem(); 
         areaItem.Content = areaName; 
         listBox1.Items.Add(areaItem); 

        } 
       } 
      } 

任意の助けいただければ幸いです!

UPDATE

私はこのラインを使用してのTextBlockを移入するテキストを取得することができました。代わりに、このラインの

textBlock1.Inlines.Add(areaName); 

listBox1.Items.Add(areaItem); 

のみ私が今実行しているように見える問題は、TextBlockがTextBlock領域の下に配置されていないことですスクロールできません。 XAML高さ= "X" の行を削除することによって、これを修正

UPDATE 2

。私はすべて行くつもりです!

答えて

2

TextBlockにテキストを置き、折り返しをオンにしますか?あなたのリストボックス内

:TextBlockの提案のための

<TextBlock Text="{Binding}" TextWrapping="Wrap"/> 
+0

感謝。これは、今テキストをラップするだけで、1つのエントリしか表示されません。ここで私はC#で変更された行です: textBlock1.Text = areaName; // areaNameは文字列です – doot

+0

例を見るのに少し時間を費やすべきだと思います。 http://create.msdn.com/en-US –

+0

私はlistBoxを使用することに戻らなければならず、まだ私の人生のためにテキストをラップする方法を理解できません。 listBoxの各要素が選択可能でなければならないため、textBlockを使用してテキストを表示することはできません。 – doot

関連する問題