在运行时期间未应用按钮样式

时间:2013-05-12 01:50:21

标签: c# wpf xaml styles

所以基本上我有一个侧面三角形的按钮(用于“播放”按钮)。在xaml设计编辑器中,按钮正确显示为三角形。但是,当我运行应用程序时,它显示为标准的平淡窗口按钮。这是风格:

    <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        <ed:RegularPolygon x:Name="PlayerPlay" Fill="#FF080808" InnerRadius="1" PointCount="3" RenderTransformOrigin="0.5,0.5" Stretch="Fill" Stroke="Black">
                            <ed:RegularPolygon.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <SkewTransform/>
                                    <RotateTransform Angle="90.635"/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </ed:RegularPolygon.RenderTransform>
                        </ed:RegularPolygon>
                        <ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                    </Grid>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsFocused" Value="True"/>
                        <Trigger Property="IsDefaulted" Value="True"/>
                        <Trigger Property="IsMouseOver" Value="True"/>
                        <Trigger Property="IsPressed" Value="True"/>
                        <Trigger Property="IsEnabled" Value="False"/>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

这是按钮:

<Button x:Name="PlayerPlay" Click="PlayerPlay_Click_1"  Content="" Margin="63.54,4.752,59.686,6.682" Style="{DynamicResource ButtonStyle1}"/>

知道出了什么问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

你在哪里创造了这种风格? ex在Windows资源中,在词典等中

如果您的样式位于您的Button所在的资源中,则使用StaticResource 如果您使用字典,请确保已在App.xaml文件中声明它 前

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="file_name.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>

然后您可以使用DynamicResource来应用您的样式。