2013-05-17 17 views
9

ListBoxの全幅にわたって伸びようとしている間、私はListBoxItemのWindows Phone 8アプリケーションで問題が発生しています。ListBoxItem Horizo​​ntalContentAlignment ListBoxの全幅にわたって伸びる

マイListBox

<DataTemplate x:Key="EventListHeaderTemplate"> 
    <Border HorizontalAlignment="Stretch"> 
     <Grid Height="50"> 
      <Grid.ColumnDefinitions> 
       <ColumnDefinition Width="*"/> 
       <ColumnDefinition Width="6*"/> 
      </Grid.ColumnDefinitions> 
      <Image Grid.Column="0" Source="{Binding ImageUri}" VerticalAlignment="Center" HorizontalAlignment="Center" Height="30"/> 
      <TextBlock Grid.Column="1" Text="{Binding SomeText}" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="Black"/> 
     </Grid> 
    </Border> 
</DataTemplate> 

私は本当にストレッチにアイテムを取得カント、と私は、問題がどこにあるか知らない:

<ListBox 
     ItemsSource="{Binding Events}" 
     behaviors:ItemClickCommandBehavior.Command="{Binding EventSelectedCommand}" 
     ItemTemplate="{StaticResource EventListTemplateSelector}"/> 

とそのDataTemplatesは別々のXAMLリソースファイルです。私はItemContainerStyle Horizo​​ntalCOntentAlignment = "ストレッチ"を設定しようとしましたが動作しませんでした。私は他の多くの組み合わせを試して、それは、境界線またはグリッドの幅を一定の動作と他のソリューションを動作する他のソリューションを設定するのは、含まれているListBoxのActualWidthにバインドするために境界幅を設定することですが、それを動作させることができれば変種。

+1

[ListBoxの全幅を水平に伸ばすためにListBox ItemTemplateを取得する方法](http://stackoverflow.com/questions/838828/how-to-get-a-listbox-itemtemplate-横幅 - 横幅 - 全幅) –

答えて

22

商用のWP8アプリケーションを開発しているうちに同じことが起こり、なぜTextBlockが幅全体に完全に色付けされていないのか不思議でした。

競合するスタイルと仕事をする方法(これはXAMLのいずれかのために働くは実際に変異体)、明示的にスペースの使用を処理するためにListBoxItemのスタイルを定義することです。

XAMLに、それはこのように画面領域に(ストレッチ)を記入することであるというヒントを与える:

<ListBox Name="lbTest" HorizontalContentAlignment="Stretch" > 

     <ListBox.ItemContainerStyle> 
      <Style TargetType="ListBoxItem"> 
       <Setter Property="HorizontalContentAlignment" 
         Value="Stretch"/> 
      </Style> 
     </ListBox.ItemContainerStyle> 

     <ListBox.ItemTemplate>...</ListBox.ItemTemplate> 

そうでない場合は、XAMLパーサーは、デフォルトでは、によってスペースを節約しようとします自動ListBoxItemの内容にサイジング;恐ろしいスコッチテープの見た目を与えてくれます。

+0

これはMicrosoft製のバグですか?私はあなたのポストを見つけられるまで3時間を無駄にしました。ありがとうございました。 – Dummy

+1

@ダミースタンドアローンのコントロールで意味をなさないデフォルトスタイルのチェーンに過ぎませんが、一緒に持って来たら、私たちに与えてください。このスタイルのイースターエッグを見つけたクラブにようこそ。 ;-) – OmegaMan

関連する問題