Элементы в ItemControls размером автоматически - PullRequest
1 голос
/ 26 ноября 2010

У меня следующая проблема. У меня есть ItemsControl, определенный с xaml.

 <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>

В коде у меня этот 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 Ответ

1 голос
/ 26 ноября 2010

попробуйте этот ответ, я попробовал, и это сработало: D

Растяжение элементов управления для заполнения 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>
...