Определение центрального поля для кнопки в стиле Materialdesigninxaml - PullRequest
1 голос
/ 28 января 2020

У меня быстрый (и, скорее всего) простой вопрос, для которого я, к сожалению, не нахожу подходящего решения. Мои требования следующие:

  • В целях создания панели навигации я хочу сложить несколько кнопок. Для этой цели я использую панель стека.
  • Между каждой из кнопок я хочу иметь некоторое пространство. Конечно, я мог бы установить поле для каждой кнопки, однако я нахожу это решение не очень надежным и вместо этого хочу централизованно определить поле.
  • Поэтому я определил стиль на панели стека и установил маржа один раз. Это прекрасно работает с одной проблемой: для кнопки я бы хотел использовать стиль, предоставленный Materialdesigninxaml. Однако, когда я устанавливаю стиль для кнопки, стиль поля игнорируется.

У кого-нибудь есть идея или мне нужно использовать обходной путь? Спасибо вам, ребята, за вашу помощь.

Вот мой пример кода, который работает без определения стиля Materialdesigninxaml:

            <StackPanel.Resources>
                <Style TargetType="{x:Type Button}">
                    <Setter Property="Margin" Value="0 10 0 0"/>
                    <Setter Property="Height" Value="50"/>
                    <Setter Property="Width" Value="150"/>
                </Style>
            </StackPanel.Resources>
            <Button>
                <StackPanel Orientation="Horizontal">
                    <materialDesign:PackIcon Kind="Database" VerticalAlignment="Center"/>
                    <TextBlock Text="BUTTON 1"/>
                </StackPanel>
            </Button>

Это мой код с указанным стилем Materialdesigninxaml, который не работает:

           <StackPanel.Resources>
                <Style TargetType="{x:Type Button}">
                    <Setter Property="Margin" Value="0 10 0 0"/>
                    <Setter Property="Height" Value="50"/>
                    <Setter Property="Width" Value="150"/>
                </Style>
            </StackPanel.Resources>
            <Button Style="{DynamicResource MaterialDesignFlatButton}">
                <StackPanel Orientation="Horizontal">
                    <materialDesign:PackIcon Kind="Database" VerticalAlignment="Center"/>
                    <TextBlock Text="BUTTON 1"/>
                </StackPanel>
            </Button>
...