2014-12-08 75 views
0

我正在嘗試根據重新調整窗口大小時的內容重新調整第4列中的內容展示器的大小。但它的行爲不像我想要的那樣。你們能幫我解決這個問題嗎?根據其在WPF網格中的內容重新調整列的大小

<Grid Name="PART_grid1"> 
          <Grid.ColumnDefinitions> 
           <ColumnDefinition Width="1"/> 
           <ColumnDefinition Width="10"/> 
           <ColumnDefinition Width="22"/> 
           <ColumnDefinition Width="5"/> 
           <ColumnDefinition Width="27*"/> 
           <ColumnDefinition Width="10"/> 
           <ColumnDefinition Width="1"/> 
          </Grid.ColumnDefinitions> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="8"/> 
           <RowDefinition Height="21"/> 
           <RowDefinition Height="8"/> 
          </Grid.RowDefinitions> 

          <Path Data="M74,37L0,37 0,0 74,0z" Grid.Column="1" Grid.Row="0" Stretch="Fill" Grid.RowSpan="3" Grid.ColumnSpan="5"> 
           <Path.Fill> 
            <LinearGradientBrush EndPoint="0.5,0" StartPoint="0.5,1"> 
             <GradientStop Color="#FFF9F9F9" Offset="0"/> 
             <GradientStop Color="#FFD7D7D7" Offset="1"/> 
            </LinearGradientBrush> 
           </Path.Fill> 
          </Path> 
          <Path Data="F1M0,37L1,37 1,0 0,0z" Grid.Column="7" Grid.Row="0" Grid.RowSpan="3" Fill="#FF7D7D7D" /> 
          <Path Data="F1M0,37L1,37 1,0 0,0z" Grid.Column="0" Grid.Row="0" Grid.RowSpan="3" Fill="White"/> 


          <Grid Grid.Column="2" Grid.Row="1"> 
           <!--Image--> 
          </Grid> 
          <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Grid.Column="4" Width="Auto" Grid.Row="1" /> 
         </Grid> 

回答

1

使用Auto在列定義:

<ColumnDefinition Width="Auto" /> 

它會自動調整到內容。它應該位於主網格的列定義中。目前你的價值是5,所以它很窄。

+0

感謝您的建議PiotrWolkowski! – user3616471 2014-12-15 08:57:13