2010-11-26 66 views
1

我有下一個問題。我有一個用xaml定義的ItemsControl。ItemControls中的項自動調整大小

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="50" /> 
     <RowDefinition Height="50" /> 
    </Grid.RowDefinitions> 
    <Button Grid.Row="0" ></Button> 
    <ItemsControl Grid.Row="1" x:Name="ItemsControl"></ItemsControl> 
</Grid> 

在codebehind我有這個ItemsControl被填充按鈕。

public Window1() 
     { 
      InitializeComponent(); 
      var list = new List<Button>(); 
      list.Add(new Button() { Name = "btn1", Visibility = Visibility.Visible}); 
      list.Add(new Button() { Name = "btn2", Visibility = Visibility.Collapsed}); 
      list.Add(new Button() { Name = "btn3", Visibility = Visibility.Collapsed}); 
      ItemsControl.ItemsSource = list; 
     } 

現在當渲染按鈕時,高度非常小。我希望按鈕在ItemsControl的最大高度處呈現。有沒有辦法?

回答

1

試試這個答案了,我了個去,它很好地工作:d

Stretching controls to fill ItemsControl

不要忘記<RowDefinition Height="*" />

<Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="50" /> 
     <RowDefinition Height="*" /> 
    </Grid.RowDefinitions> 
    <Button Grid.Row="0" ></Button> 
    <ItemsControl Grid.Row="1" x:Name="ItemsControl"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <UniformGrid Columns="1" /> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
    </ItemsControl> 
</Grid> 
+0

感謝分配湯姆,這摸索出偉大的! – StefanHa 2010-11-26 14:09:04