0

在 Expression Blend 4 中,我想更改Foreground不同状态的自定义按钮。我只能更改Backgroundand BorderBrush

像这样:

在此处输入图像描述

如果状态为“Normal”,文本“Button”的颜色为Black,而状态为“Pressed”,文本“Button”的颜色为White

Brushes PanelunderProperties Panel上,有 3 个属性但没有Foreground属性: 在此处输入图像描述

谁能帮我?我很困惑。

编辑

我发现ContentControlForeground房产,但ContentPresenter没有。我应该使用ContentControl而不是ContentPresenter吗?

4

1 回答 1

0

到目前为止,我还没有找到通过 Blend 更改 Foreground 的方法(我的意思是不在代码中)。在代码中,就像这样:

<ResourceDictionary ...>

    <Style x:Key="ButtonStyle1" TargetType="{x:Type Button}">
        <Setter Property="Template">
            ...
            <VisualStateManager.VisualStateGroups>
                <VisualStateGroup x:Name="CommonStates">
                    ...
                    <VisualState x:Name="MouseOver">
                        <Storyboard>
                            <ColorAnimationUsingKeyFrames 
                                Storyboard.TargetProperty="(TextBlock.Foreground).(SolidColorBrush.Color)">
                                <EasingColorKeyFrame KeyTime="0" Value="Blue"/>
                            </ColorAnimationUsingKeyFrames>
                        </Storyboard>
                    </VisualState>
                    ...
                </VisualStateGroup>
            </VisualStateManager.VisualStateGroups>

            <ContentPresenter .../>
            ...
</ResourceDictionary>
于 2013-06-28T04:16:28.053 回答