WPF自定义控件问题:'Shape'没有名为“Background”的公共属性;

发布于 2024-10-20 05:22:04 字数 710 浏览 3 评论 0原文

我正在尝试创建一个可由 Silverlight 和 WPF 共享的自定义控件。为此,我不在自定义控件的模板中使用 Silverlight 不支持的触发器 - 相反,我使用似乎两个平台都支持的故事板动画。

首先,我制作了一个适用于 Silverlight 的自定义控件。然后尝试在 WPF 中使用它并不断收到以下运行时错误:属性路径无效。 “Shape”没有名为“Background”的公共属性。

原因是我的自定义控件模板中的以下 XAML:

<VisualState x:Name="Hovered">
    <Storyboard>
       <ColorAnimation Duration="0:0:0"
                Storyboard.TargetName="PBorder"
                Storyboard.TargetProperty="(Shape.Background).(SolidColorBrush.Color)" To="White" />
    </Storyboard>
</VisualState>

这部分 WPF 代码的有效 XAML 语法是什么具体来说?
是否可以使此 XAML 对 Silverlight 和 WPF 都有效?

I'm trying to create a custom control that can be shared by both Silverlight and WPF. For the sake of this I don't use Triggers in my Custom control's templates which are not supported by Silverlight - instead I use Storyboard animations which seem to be supported by both platforms.

First, I made a Custom control which works well for Silverlight. Then tried to use it in WPF and kept getting the following runtime error: Property path is not valid. 'Shape' does not have a public property named 'Background'.

The following XAML in my Custom control template is the cause:

<VisualState x:Name="Hovered">
    <Storyboard>
       <ColorAnimation Duration="0:0:0"
                Storyboard.TargetName="PBorder"
                Storyboard.TargetProperty="(Shape.Background).(SolidColorBrush.Color)" To="White" />
    </Storyboard>
</VisualState>

What is the valid XAML syntax for this part of code for WPF specifically?
And is it possible to make this XAML valid for both Silverlight and WPF?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜无邪 2024-10-27 05:22:04

Shape 没有 Background,而是具有 Fill(背景)和 Stroke(边框)。

Shape does not have a Background but instead it has a Fill(Background) and a Stroke(Border).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文