2011-10-27 6 views
0

こんにちは、私はListBoxについて多くの質問があり、DataTemplateのスペース全体を満たしていますが、まだ何かを得ることはできません。私が持っているのはListBoxで、DataTemplateにはUserControlがあります。スペースを埋めるためにデータを伸ばすために私のUserControlを取得するにはどうすればよいですか?リストボックスの項目はどのようにスペース全体を埋めることができますか?

メインウィンドウのXAMLは、スニペット:

<ListBox x:Name="ConfiguredItemsList"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <local:ConfiguredItem DataContext="{Binding}" HorizontalContentAlignment="Stretch" /> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

UserControlのXAMLは、スニペット:

<UserControl.Resources> 
    <local:ImagePathConverter x:Key="ImagePathConverter"/> 
</UserControl.Resources> 
<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="*" /> 
     <ColumnDefinition Width="75" /> 
    </Grid.ColumnDefinitions> 
    <Grid Grid.Column="0"> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="*" /> 
      <RowDefinition Height="*" /> 
     </Grid.RowDefinitions> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="100" /> 
      <ColumnDefinition Width="*" /> 
     </Grid.ColumnDefinitions> 

     <TextBlock Grid.Row="0" Grid.Column="0" x:Name="NameLabel" Text="Name:" /> 
     <TextBlock Grid.Row="0" Grid.Column="1" x:Name="tbName" Text="{Binding Path=Name}" /> 
     <TextBlock Grid.Row="1" Grid.Column="0" x:Name="DescriptionLabel" Text="Description: " /> 
     <TextBlock Grid.Row="1" Grid.Column="1" x:Name="Description" Text="{Binding Path=Description}" /> 
     <TextBlock Grid.Row="2" Grid.Column="0" x:Name="TimeLabel" Text="Time:" /> 
     <TextBlock Grid.Row="2" Grid.Column="1" x:Name="Time" Text="{Binding Path=ChangeTime, StringFormat={}{0:h:mm tt}}" />    
    </Grid> 

    <Border Grid.Column="1" BorderThickness="1" BorderBrush="Black"> 
     <Image Source="{Binding Path=WallpaperInfo, Converter={StaticResource ImagePathConverter}}" /> 
    </Border> 
</Grid> 
+2

あなたは[これと似たような](http://stackoverflow.com/questions/6188371/fill-grid-width-inside-a-listbox/6188604#6188604)やあなたが見たことのあるものを試しましたかそれは助けになりませんでしたか? –

+0

[ListBoxのItemTemplateをListBoxの全幅に水平に伸ばす方法]の複製が可能ですか?(http://stackoverflow.com/questions/838828/how-to-get-a-listbox-itemtemplate-to-stretch -horizo​​ntally-the-full-width-of-the) –

+0

@HBいいえ、笑。ありがとう! – Travyguy9

答えて

2

は、リストボックスのレベルでストレッチするHorizontalContentAlignmentを設定しようとしたことがありますか?

<ListBox x:Name="ConfiguredItemsList" HorizontalContentAlignment="Stretch"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <local:ConfiguredItem DataContext="{Binding}"/> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
</ListBox> 

:私はListBox代わりのItemHorizontalContentAlignmentプロパティを設定しました。

関連する問題