2013-08-06 1 views
0

피벗 컨트롤 안에 내 listboxitem의 스타일을 지정하는 데 문제가 있습니다. 나는 그것을 늘리려고 노력하고있다. 나는 그것에 영향을 미치지 않기 때문에 나는 그것을 언급해야하는지 모르지만,이 목록 상자는 스크롤 이벤트를 캡쳐하여 다이내믹하게 채워진다. I`ve 성공없이이 솔루션을 시도했지만 :목록 상자 항목이 늘어나고 싶지 않다

<controls:PivotItem Header="Indeks"> 
      <Grid Name="grd_Content" HorizontalAlignment="Stretch" Background="Transparent"> 
       <Grid.RowDefinitions> 
        <RowDefinition></RowDefinition> 
        <RowDefinition></RowDefinition> 
       </Grid.RowDefinitions> 

       <ListBox x:Name="lbx_Index" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Foreground="White" Loaded="lbx_Index_Loaded" Template="{StaticResource ListBoxControlTemplate}" Grid.Row="1" Tap="lbx_Index_Tap" Background="{x:Null}"> 
         <ListBox.ItemContainerStyle> 
          <Style TargetType="ListBoxItem"> 
           <Setter Property="HorizontalAlignment" Value="Stretch"/> 
           <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
          </Style> 
         </ListBox.ItemContainerStyle> 
         <ControlTemplate TargetType="ListBox"> 
         <ScrollViewer x:Name="scrollViewer" 
           BorderBrush="Transparent" 
           BorderThickness="0" 
           Background="MediumAquamarine" 
           Foreground="Transparent" 
           HorizontalAlignment="Stretch"  
           Padding="{TemplateBinding Padding}" 
           Loaded="ScrollViewer_Loaded"> 
          <ItemsPresenter HorizontalAlignment="Stretch"/> 
         </ScrollViewer> 
        </ControlTemplate> 
        <ListBox.DataContext> 
         <local:ListBoxPart/> 
        </ListBox.DataContext> 
        <ListBox.ItemTemplate> 
         <DataTemplate> 
          <Border x:Name="border" BorderBrush="Maroon" BorderThickness="2" 
          Padding="5" Margin="5" CornerRadius="4,4,4,4" HorizontalAlignment="Stretch"> 
           <Grid HorizontalAlignment="Stretch"> 
            <Grid.RowDefinitions> 
             <RowDefinition/> 
             <RowDefinition/> 
             <RowDefinition/> 
            </Grid.RowDefinitions> 
            <Grid.ColumnDefinitions> 
             <ColumnDefinition Width="300*" /> 
             <ColumnDefinition Width="100*"/> 
            </Grid.ColumnDefinitions> 
            <!--<TextBlock Grid.Row="0" Grid.Column="0" TextAlignment="Center" TextTrimming="None" Text="Nazwa lekarstwa:" FontSize="14"/>--> 
            <TextBlock Grid.Row="0" Grid.Column="0" TextAlignment="Left" TextTrimming="None" Text="{Binding Name}"/> 
            <TextBlock Grid.Row="1" Grid.Column="0" TextAlignment="Left" TextTrimming="WordEllipsis" Text="{Binding ActiveSubstance}" FontSize="12"/> 
            <TextBlock Grid.Row="0" Grid.Column="1" TextAlignment="Left" Text="{Binding LevelOfPayment}"></TextBlock> 
            <TextBlock Grid.Row="1" Grid.Column="1" TextAlignment="Left" Text="{Binding AidAmount}"></TextBlock> 
           </Grid> 
          </Border> 
         </DataTemplate> 
        </ListBox.ItemTemplate> 

       </ListBox> 
      </Grid> 


     </controls:PivotItem> 

내가 어떤 도움을 apperciate :

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

여기에 전체 pivotItem 내 코드입니다!

+1

ListBox가 왼쪽으로 정렬되면 ListBox에서 다음 xaml을 제거하십시오. 'HorizontalAlignment = "Left" –

답변

0

Horrizontal 정렬 설정을 재정의하는 컨테이너에 있지 않으면 스트레치되도록 설정할 필요가 없습니다. 기본적으로 대부분의 XAML 컨트롤은 가장 많은 공간을 차지하도록 설정됩니다.

또한 여백이 컨테이너를 원하는 위치에서 축소하지 않는지 확인하십시오. (음수 여백을 사용하여 늘릴 수도 있습니다)

관련 문제