Задать вопрос
drem1lin
@drem1lin
чуть программист, чуть чуть админ...

Как расширить ComboBox на все свободное место?

Всем привет, подскажите. Я рисую окно, и хочу сделать что бы у меня в статус баре был маленький ProgressBar слева, две кнопочки справа и все пространство между ними занимал ComboBox. т.е. я хочу что бы это выглядело так
8181611ae33946208920713752b60b8e.PNG
Но у меня получается только так,
f0f1a86943b84eec91722bb8cabadb04.PNG
И я не могу понять, почему Combobox такой маленький. я пробовал использовать docpanel и grid, но даже если выделить контрол в Xaml коде, он свои размеры отображает как суммарный размер всех элементов на картинке 2, а не как на 1. Хотя при этом статус бар занимает реально все свободное место.
<StatusBar DockPanel.Dock="Bottom" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
	<DockPanel Width="1004" Height="Auto" LastChildFill="True" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
                <ProgressBar Name="ExecutionProgress" Height="Auto" Margin="3" MinWidth="200" MaxWidth="400" DockPanel.Dock="Left"></ProgressBar>
                <StackPanel Orientation="Horizontal" Height="Auto" DockPanel.Dock="Right">
                    <Button Name="SaveExecutionLog" Width="Auto" Height="Auto" Content="Save Log" Margin="2" Padding="4"></Button>
                    <Button Name="ClearExecutionLog" Width="Auto" Height="Auto" Content="Clear Log" Margin="2" Padding="4"></Button>
                </StackPanel>
                <ComboBox Name="ExecutionEvents" Height="Auto" Width="Auto" Margin="3">
                    <ComboBoxItem>jfjfjxdfvbdfhfghfghfghfghfghjfg[pjkhlp'fghfg]ophkfg]pkh]pfg]hkfg]pkh]pfghokfg]pkh]-fg</ComboBoxItem>
                </ComboBox>
	</DockPanel>
</StatusBar>
  • Вопрос задан
  • 721 просмотр
Подписаться 1 Оценить 3 комментария
Пригласить эксперта
Ответы на вопрос 1
@WinnerIT
Программист и фотограф-любитель
Вам придется изменить значения в ColumnDefinition под себя
<StatusBar DockPanel.Dock="Bottom" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                <StatusBar.ItemsPanel>
                    <ItemsPanelTemplate>
                        <Grid>
                            <Grid.RowDefinitions>
                                <RowDefinition>
                                </RowDefinition>
                            </Grid.RowDefinitions>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="80" />
                                <ColumnDefinition Width="100*" />
                                <ColumnDefinition Width="100*" />
                            </Grid.ColumnDefinitions>
                        </Grid>
                    </ItemsPanelTemplate>
                </StatusBar.ItemsPanel>
                <StatusBarItem DockPanel.Dock="Left" Grid.Column="0">
                    <ProgressBar Name="ExecutionProgress" Height="20" Margin="3" MinWidth="200" MaxWidth="400" ></ProgressBar>
                </StatusBarItem>
                <StatusBarItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Grid.Column="1">
                    <ComboBox Name="ExecutionEvents" Width="{Binding Parent.ActualWidth, Mode=OneWay, RelativeSource={RelativeSource Self}}">
                        <ComboBoxItem>jfjfjxdfvbdfhfghfghfghfghfghjfg[pjkhlp'fghfg]ophkfg]pkh]pfg]hkfg]pkh]pfghokfg]pkh]-fg</ComboBoxItem>
                    </ComboBox>
                </StatusBarItem>
                <StatusBarItem HorizontalAlignment="Right" Grid.Column="2">
                    <StackPanel Orientation="Horizontal" Height="Auto" DockPanel.Dock="Right">
                        <Button Name="SaveExecutionLog"  Content="Save Log" Margin="2" Padding="4"></Button>
                        <Button Name="ClearExecutionLog" Content="Clear Log" Margin="2" Padding="4"></Button>
                    </StackPanel>
                </StatusBarItem>
            </StatusBar>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы