样式仅应用于最后一个元素

时间:2018-08-22 10:33:40

标签: wpf wpf-style

与此问题相关的部分:WPF Style/Template gets applied only to the last added element

我的app.xaml中具有以下样式:

                                                                     

    <Style TargetType="Path" >
        <Setter Property="Fill" Value="White" />
        <Setter Property="RenderTransformOrigin">
            <Setter.Value>
                <Point X=".5" Y=".5" />
            </Setter.Value>
        </Setter>
        <Setter Property="RenderTransform">
            <Setter.Value>
                <ScaleTransform ScaleX=".7" ScaleY=".7" />
            </Setter.Value>
        </Setter>
    </Style>

    <Style x:Key="addIconButton" TargetType="Button" BasedOn="{StaticResource iconButton}">
        <Setter Property="Background" Value="DarkGreen"/>
        <Setter Property="Content">
            <Setter.Value>
                <Viewbox>
                    <Path Data="M 465.167,211.614H280.245V26.691c0-8.424-11.439-26.69-34.316-26.69s-34.316,18.267-34.316,26.69v184.924H26.69 C18.267,211.614,0,223.053,0,245.929s18.267,34.316,26.69,34.316h184.924v184.924c0,8.422,11.438,26.69,34.316,26.69 s34.316-18.268,34.316-26.69V280.245H465.17c8.422,0,26.69-11.438,26.69-34.316S473.59,211.614,465.167,211.614z" />
                </Viewbox>
            </Setter.Value>
        </Setter>
    </Style>
    <Style x:Key="deleteIconButton" TargetType="Button" BasedOn="{StaticResource iconButton}">
        <Setter Property="Background" Value="OrangeRed"/>
        <Setter Property="Content">
            <Setter.Value>
                <Viewbox>
                    <Path Data="M 353.574,176.526 313.496,175.056 304.807,412.34 344.885,413.804 
                M 235.948,175.791 276.052,175.791 276.052,413.076, 235.948,413.076
                M 207.186,412.334 198.497,175.049 158.419,176.52 167.109,413.804 
                M 17.379,76.867v40.104h41.789L92.32,493.706C93.229,504.059,101.899,512,112.292,512h286.74 c10.394,0,19.07-7.947,19.972-18.301l33.153-376.728h42.464V76.867H17.379z M380.665,471.896H130.654L99.426,116.971h312.474 L380.665,471.896z 
                M 321.504,0 H190.496c-18.428,0-33.42,14.992-33.42,33.42v43.499h40.104 V40.104h117.64v36.815h40.104V33.42 C354.924,14.992,339.932,0,321.504,0z"/>
                </Viewbox>
            </Setter.Value>
        </Setter>
    </Style>
</Application.Resources>

我有这个示例控件:

<StackPanel Orientation="Horizontal" >
    <Button Style="{StaticResource addIconButton}" />
    <Button Style="{StaticResource deleteIconButton}" />
    <Button Style="{StaticResource addIconButton}" />
    <Button Style="{StaticResource deleteIconButton}" />
    <Button Style="{StaticResource addIconButton}" />
    <Button Style="{StaticResource deleteIconButton}" />
</StackPanel>

问题在于样式的内容仅应用于最后一个元素。样式的其他部分(例如背景色)正确地应用于所有元素。有什么问题吗?

0 个答案:

没有答案
相关问题