2010-12-04 3 views
0

内のテキスト私は、XAMLページにこのコードを持っている:整列リストボックス

<ListBox Height="524" HorizontalAlignment="Left" Margin="12,6,0,0" Name="listBox1" VerticalAlignment="Top" Width="438" BorderThickness="1" BorderBrush="White" > 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <StackPanel Orientation="Horizontal"> 
         <TextBlock Text="{Binding Name}" Margin="5" TextAlignment="Left" HorizontalAlignment="Left" /> 
         <TextBlock Text="{Binding DeadLine}" Margin="5" TextAlignment="Right" HorizontalAlignment="Right" /> 
        </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

あなたが見ることができるように、私は2つのテキストボックスに私のリストボックスを分割し、一番左の位置にある1つの文字を入れしようとしていますし、他の1つは行の最も右の位置にあります。しかし、私はできません、これは動作しません。 何か不足していますか?どのように私は締め切りを一直線に並べますか?

おかげで、 オスカー

答えて

2

はちょうど私が(このフォーラムで与え含めて)見られる多くの溶液を混合するソリューションを持っ

<ListBox Height="524" HorizontalAlignment="Left" Margin="12,6,0,0" Name="listBox1" VerticalAlignment="Top" Width="438" BorderThickness="1" BorderBrush="White" > 
      <ListBox.ItemContainerStyle> 
       <Style TargetType="ListBoxItem"> 
        <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
       </Style> 
      </ListBox.ItemContainerStyle> 
      <ListBox.ItemTemplate> 
       <DataTemplate> 
        <Grid> 
         <TextBlock Text="{Binding Name}"/> 
         <TextBlock Text="{Binding DeadLine}" HorizontalAlignment="Right"/> 
        </Grid> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 
     </ListBox> 

TKS!

+0

FYIと同じように、あなたの名前と締め切りのテキストが重なり合うのに十分な長さにならないようにする必要があります。 2つの 'TextBlock'オブジェクトが同じスペースを占有するようにするには、テキストを左揃えに、テキストを右揃えにします。 – nickohrn

+0

はい、それはすでに気付いていますが、とにかく感謝します:) – JSBach

0

あなたはItemContainerStyleはストレッチにHorizontalContentAlignmentを持っていることを確認する必要があります。

この私の作品:

<ListBox Height="524" HorizontalAlignment="Left" Margin="12,6,0,0" Name="listBox1" VerticalAlignment="Top" Width="438" BorderThickness="1" BorderBrush="White" > 
    <ListBox.ItemContainerStyle> 
     <Style TargetType="ListBoxItem"> 
      <Setter Property="HorizontalContentAlignment" Value="Stretch" /> 
     </Style> 
    </ListBox.ItemContainerStyle> 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel HorizontalAlignment="Stretch" Orientation="Horizontal" Background="Red"> 
       <TextBlock Text="{Binding Name}" Margin="5" TextAlignment="Left" HorizontalAlignment="Left" /> 
       <TextBlock Text="{Binding DeadLine}" Margin="5" TextAlignment="Right" HorizontalAlignment="Right" /> 
      </StackPanel> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 
+0

horizo​​ntalContentAlignmentプロパティについて知りましたが、うまく機能しませんでした。確かに、あなたのコードをコピーして貼り付けても、うまくいきませんでした。( – JSBach

関連する問題