DropShadow Color DataBInding - PullRequest
       2

DropShadow Color DataBInding

3 голосов
/ 08 ноября 2011

У меня проблема с привязкой данных.У меня есть класс со свойствами для настройки стиля, написанного с помощью wpf.Все свойства работают нормально, за исключением свойства цвета тени от ContentPresenter.это единственное свойство, которое не сработало.Я много чего перепробовал, но ни одного случая.Свойство называется FontShadow (тип Color)

код класса:

public class ButtonStyle
{
    public String Name { get; set; }
    public String Fill { get; set; }
    public String FontColor { get; set; }
    public Color FontShadow { get; set; }
    public String Image { get; set; }
    public int ImageWith { get; set; }
    public int ImageHeight { get; set; }
    public int FontSize { get; set; }
    public String FontName { get; set; }
    public Boolean Bold { get; set; }
    public String HAligment { get; set; }
    public String ButtonStyleName { get; set; }
}

код xaml:

<Style x:Key="CommonActionButton" TargetType="{x:Type Button}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type Button}">
                    <Grid>
                        .....
                        <ContentPresenter DataContext="{TemplateBinding DataContext}" x:Name="contentPresenter" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Grid.RowSpan="2" RenderTransformOrigin="0.5,0.5">
                            <ContentPresenter.Effect>
                                <DropShadowEffect BlurRadius="3" ShadowDepth="2" Color="{Binding FontShadow, FallbackValue=Black}"/>
                            </ContentPresenter.Effect>
                            <ContentPresenter.RenderTransform>
                                <TransformGroup>
                                    <ScaleTransform/>
                                    <SkewTransform/>
                                    <RotateTransform/>
                                    <TranslateTransform/>
                                </TransformGroup>
                            </ContentPresenter.RenderTransform>
                        </ContentPresenter>
                        .....
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

one a создать кнопку, которой я назначаю стильконтекст данных (экземпляр ButtonStyle).Каждое свойство, кроме FontShadow, работает.

Есть идеи?

1 Ответ

1 голос
/ 08 ноября 2011

Посмотрите на этот вопрос: WPF-изображение 'highlight' с DropShadowEffect не может связать цвет

Вы должны установить DataContext для этого вида привязки данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...