SweeTooth
@SweeTooth

Почему не применяются размеры из стилей для элементов в StackPanel?

Здравствуйте, во верстки приложения столкнулся с проблемой.

У меня имеются стили с заранее задаными размерами:
<Style x:Key="comboBox"
         TargetType="ComboBox">
    <Setter Property="Control.MinHeight"
            Value="15" />
    <Setter Property="Control.MaxHeight"
            Value="25" />
    <Setter Property="Control.MinWidth"
            Value="100" />
    <Setter Property="Control.MaxWidth"
            Value="250" />
  </Style>

  <Style x:Key="textBox" 
         TargetType="TextBox">
    <Setter Property="Control.MinHeight"
            Value="15" />
    <Setter Property="Control.MaxHeight"
            Value="25" />
    <Setter Property="Control.VerticalContentAlignment" Value="Center"/>
  </Style>


И есть кусок верстки:
<StackPanel Grid.ColumnSpan="2"
                VerticalAlignment="Center"
                Orientation="Horizontal"
                Margin="0 0 0 5">

      <StackPanel Margin="0 0 10 0">
        <TextBlock Text="Тип документа"
                          Margin="0 0 0 2" />
        <ComboBox Style="{StaticResource ResourceKey=comboBox}"/>
      </StackPanel>
      
      <StackPanel>
        <TextBlock Text="Категория документа"
                          Margin="0 0 0 2"/>
        <ComboBox Style="{StaticResource ResourceKey=comboBox}"/>
      </StackPanel>
      
    </StackPanel>


Суть в том, что когда эти комбобоксы находятся внутри StackPanel, к ним не применяются размеры, заданые в стилях, но если я задаю напрямую в комбобоксе минимальную ширину, то размеры применяются. Как пофиксить такое поведение?

Файл со стилями я присоединил к общим ресурсам приложения:
<Application.Resources>
      <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
          <ResourceDictionary Source="Resources/Styles.xaml" />
        </ResourceDictionary.MergedDictionaries>
      </ResourceDictionary>
    </Application.Resources>
  • Вопрос задан
  • 35 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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