绑定到 UserControl 中声明的 Storyboard 的属性

Posted

技术标签:

【中文标题】绑定到 UserControl 中声明的 Storyboard 的属性【英文标题】:Binding to properties of Storyboard declared in UserControl 【发布时间】:2010-10-16 09:59:12 【问题描述】:

我正在努力解决仅在 Window 的资源区域内声明时才有效的绑定。一旦我将声明移到 UserControl 的资源区域,绑定就会失败。没有错误消息,但是当滑块(源)的值更改时,值不会更新。我想在 UserControl 的 VSM 状态之一中使用情节提要。

谁能告诉我为什么会发生这种情况并希望如何解决它?

我尝试在此处粘贴我的 xaml,但网站不允许在消息中使用 xml 标签。

问候

贾科

【问题讨论】:

我明白了很多:问题在于情节提要的范围。似乎无法找到我在绑定语句中引用的控件(滑块)。那么为什么它适用于 Window,但不适用于 UserControl? 【参考方案1】:

仅设置 Storyboard.TargetProperty(而不是 .Target 或 .TargetName)并将情节提要指向代码中的对象:

Dim SB as Storyboard = Me.FindResource("Storyboard_name_goes_here")
TargetObject.BeginStoryboard(SB, HandoffBehavior.Compose)

希望这会有所帮助...

【讨论】:

是的,这是一个非常好的建议。但是我想在 VSM 状态中使用情节提要。所以我希望 VSM 将情节提要作为过渡启动,而不是从后面的代码中手动调用它。

以上是关于绑定到 UserControl 中声明的 Storyboard 的属性的主要内容,如果未能解决你的问题,请参考以下文章

绑定到包含 ItemsControl 数据的 UserControl

将 Silverlight UserControl 自定义属性绑定到其元素

WPF - 将 UserControl 可见性绑定到属性

数据绑定到 WPF 中的 UserControl

将 IsEnabled 绑定到父 ViewModel 而不是 UserControl ViewModel

无法将UserControl绑定到ItemsControl [重复]