ContentDialog:同时应用Style和PrimaryButtonStyle

时间:2018-01-04 20:47:14

标签: xaml uwp

我引用了16299版本。

我尝试为ContentDialog设置样式,为PrimaryButton设置样式。但是,我不能让他们两个一起工作:

<ContentDialog x:Class="App1.ContentDialog1"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  PrimaryButtonText="Button1"
  SecondaryButtonText="Button2" 
  Style="{StaticResource ContentDialogStyle}" 
  PrimaryButtonStyle="{StaticResource ContentDialogPrimaryButtonStyle}">
    <Grid />
</ContentDialog>

这只适用于&#34; Style&#34;而不是&#34; PrimaryButtonStyle&#34;。但是,如果我删除&#34; Style&#34;属性,然后我应用了PrimaryButtonStyle。

我尝试在Style XAML中应用PimaryButtonStyle,但这不起作用:

<Style TargetType="Button" x:Key="ContentDialogPrimaryButtonStyle">
  <Setter Property="Template">
    <Setter.Value>
      ...
    </Setter.Value>
  </Setter>
</Style>

<Style TargetType="ContentDialog" x:Key="ContentDialogStyle">
  <Setter Property="PrimaryButtonStyle" Value="{StaticResource ContentDialogPrimaryButtonStyle}" />
  <Setter Property="Template">
    <Setter.Value>
      ...
    </Setter.Value>
  </Setter>
</Style>

我是如何设置ContentDialog中主要/辅助按钮的样式,它本身有一个样式?

亲切的问候

亚当

1 个答案:

答案 0 :(得分:2)

它应该与Template中的ContentDialogStyle相关联。我们可以在xaml中更改ContentDialogStylePrimaryButtonStyle,这是一个简单的示例,您可以看到它。然后,您应该查看Template中的ContentDialogStyle

这是代码,

<Style TargetType="Button" x:Key="ContentDialogPrimaryButtonStyle">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate>
                <Border BorderBrush="Green" BorderThickness="5">
                    <ContentPresenter Background="Red" />
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

<Style TargetType="ContentDialog" x:Key="ContentDialogStyle">
    <Setter Property="Background" Value="Yellow"/>
</Style>

这是ContentDialog,

<ContentDialog
    ...
    PrimaryButtonText="Button1"
    SecondaryButtonText="Button2"
    Style="{StaticResource ContentDialogStyle}"
    PrimaryButtonStyle="{StaticResource ContentDialogPrimaryButtonStyle}">

    <Grid/>

</ContentDialog>
相关问题