gpt4 book ai didi

c# - 投影颜色数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 18:02:29 25 4
gpt4 key购买 nike

我有一个数据绑定(bind)问题。我有一个带有属性的类来自定义用 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>

创建一个按钮,我分配样式和 de 数据上下文(ButtonStyle 的实例)。除了 FontShadow 之外的每个属性都有效。

有什么想法吗?

最佳答案

看看这个问题:WPF Image 'highlight' with DropShadowEffect can't bind color

您应该为这种数据绑定(bind)设置 DataContext。

关于c# - 投影颜色数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8051059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com