2014-07-08 130 views
1

我想知道如果你指導我,我如何修復在Windows手機上的網格寬度或griditem寬度。其實我是xaml和windows手機的初學者。這是我的XAML代碼:固定在Windows Phone的網格寬度

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

     <ListBox x:Name="ListBoxCountry" SelectionChanged="ListBoxCountry_SelectionChanged"> 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 

        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
       <ListBox.ItemTemplate> 
       <DataTemplate> 

        <Grid Background="#FFD0D2D3" Height="180"> 

         <Grid.ColumnDefinitions> 
          <ColumnDefinition Width="Auto"/> 
           <ColumnDefinition Width="*"/> 
          </Grid.ColumnDefinitions> 

         <Image Grid.Column="0" Source="Assets/images/icon_bubble_white.png" Stretch="None" Margin="-107,0,0,0" /> 
         <Image Grid.Column="0" Source="{Binding Icon}" Height="50" Width="50" Stretch="Fill"/> 
         <TextBlock Grid.Column="1" TextAlignment="Center" Text="{Binding Title}" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" /> 
        </Grid> 

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

    </Grid> 

而且列表框的醜陋的觀點,你可以看到網格項目有沒有合適的寬度尺寸。 :

enter image description here

+0

你有沒有嘗試去除ColumnDefinition上的Width =「Auto」?自動意味着它只佔用它需要的空間,而不是跨越父控制。 –

+0

你想讓它看起來像什麼?將'Horizo​​ntalContentAlignment ='Stretch''添加到'ListBox'應該可以修復它的一部分,但是在那個圖像上是否保留了空白邊緣? –

+0

@ErikElkins謝謝你的回覆,是的,我用過但沒有改變。 –

回答

1

一般來說,我會想到剛上HorizontalContentAlignment="Stretch"ListBox拍打會完成它很好,但是你說沒有削減它不管是什麼原因,所以我們還是要告訴ItemContainerStyle誰的老闆是否喜歡它。

把我們帶到更喜歡的地方;

<Grid x:Name="ContentPanel" Grid.Row="1"> 

    <ListBox x:Name="ListBoxCountry" 
      SelectionChanged="ListBoxCountry_SelectionChanged" 
      HorizontalContentAlignment="Stretch"> 
     <ListBox.ItemContainerStyle> 

     <!-- Tell it to do as you wish. 
       Might also use BasedOn if you want to inherit the default stuff with it. --> 

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

     </ListBox.ItemContainerStyle> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 

       <Grid Background="#FFD0D2D3" Height="180"> 
        <Grid.ColumnDefinitions> 
         <ColumnDefinition Width="Auto"/> 
         <ColumnDefinition Width="*"/> 
        </Grid.ColumnDefinitions> 

        <Image Source="Assets/images/icon_bubble_white.png" /> 
        <Image Source="{Binding Icon}" Height="50" Width="50" Stretch="Fill"/> 
        <TextBlock Grid.Column="1" Text="{Binding Title}" 
           HorizontalAlignment="Center" VerticalAlignment="Center" 
           Foreground="White" /> 

       </Grid> 

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

</Grid> 

希望這會有所幫助,歡呼聲。

+0

非常感謝您的幫助!它完美地工作。 –

+0

很酷的交易,很高興你有它:) –