问题标签 [datatrigger]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2029 浏览

.net - WPF中的设置器优先级覆盖?

查看以下示例中的“THIS LINE ####”行。

如何获得以下触发器来覆盖该值?

(顺便说一句,上面的例子只是压缩的。(在实际应用中,样式在它自己的资源中。))

0 投票
4 回答
18631 浏览

wpf - 如何使用数据触发器更改 WPF 窗口背景?

我想在属性更改时更改应用程序主窗口的背景颜色。我们有一个可以更改的营业日期,我想在它与预期不同时更改窗口背景。我已经设置了一个属性来说明这一点。但是我可以在改变自身的窗口上设置样式数据触发器吗?或者我需要在 app.xaml 中执行此操作吗?

0 投票
1 回答
1994 浏览

c# - WPF:使用 DataTrigger 自定义 ListBoxItem

我有一个ListBox包含CheckBoxes 的 WPF。当 ViewModel 注意到绑定值现在已更新时,我希望 的文本颜色TextBox变为红色。我有以下 XAML,但它不工作。我可以看到IsUpdated正在查询的属性,但是当值为True颜色时,颜色没有改变。我确定我遗漏了一些明显但无法弄清楚的东西。

0 投票
1 回答
9030 浏览

.net - DataTrigger 未触发

我有以下 xaml:

现在 - 2 个复选框正确链接 - 检查一个将检查另一个 - 但数据触发器根本没有触发。

我究竟做错了什么?

0 投票
5 回答
28398 浏览

wpf - 基于对象类型的 WPF 触发器

有没有办法对触发器的对象类型进行比较?

背景:我有一个工具栏,我想根据当前为所选项目对象设置的子类来隐藏按钮。

谢谢

0 投票
4 回答
4373 浏览

wpf - 将动画和触发器定义为可重用资源?

有没有办法在 xaml 中的某处定义动画(例如,作为资源)一次,然后多次重用它?我有很多跨不同数据模板的独立画笔,它们独立需要基于数据触发器启动相同类型的动画。现在看来,动画必须定义 Storyboard.TargetName 和 Storyboard.TargetProperty。这几乎违背了可重用性的目的。我想以某种方式声明“从资源中使用此动画,但这次将其应用于另一个元素”。

对我来说,这似乎是一个相当基本、重要和必要的要求,我很惊讶它并没有那么直接地完成。我在这里错过了什么吗?

同样的事情也适用于触发器。假设我有很多不同的视觉元素,它们都使用彩色动画表示相同类型的状态。例如,当“活动”时淡出为绿色,当“错误”时淡出为“红色”等。视觉效果之间的唯一区别是它们的形状/视觉树所需的动画行为是相同的,它们在视觉树的某处都有一个元素具有颜色类型的属性。我认为不难想象一遍又一遍地重新定义相同的动画和数据触发器集是多么乏味。每个开发人员都讨厌这个。我拼命寻找一个不需要(或至少很少)c# 代码的更简单的解决方案。

到目前为止,我想出的是:

像这样在资源中定义动画(对所有基本状态重复此操作,如激活、活动、非活动、错误):

在触发器的情节提要中使用它(对于每个状态 X 每个不同的 stateviusal 重复无数次,总是为情节提要提出一个新名称):

您可以轻松想象我必须为所有这些数不胜数的 DataTrigger 反复复制和粘贴多少臃肿的 XAML。

一次定义所有这些触发器并将其应用于不同的状态视觉效果会很酷。在 WPF 中如何解决这样的问题?任何提示?

0 投票
3 回答
19770 浏览

wpf - WPF 动画“无法冻结此情节提要时间线树以跨线程使用”

我目前有一个列表框,它的选定项绑定到我的 ViewModel 上的属性。每当所选项目不为空时,我都想对其执行动画。但是,我不断收到以下错误“无法冻结此 Storyboard 时间线树以供跨线程使用”,并且从研究中了解到为什么会发生这种情况。但是我不确定我需要采取什么方法来获得我想要的行为。

0 投票
1 回答
2693 浏览

wpf - 以当前值开始动画(切换)。

我有一个 WPF Datatemplate,其中包含一些DataTriggers,它们开始为视觉对象的颜色设置动画。如何从颜色属性当前具有的实际值开始动画?

由于当前可能有另一个动画处于活动状态,我无法启动一个新动画,但是当我使用DataTriggers ExitAction 和 RemoveStoryboard 删除动画时,位置属性将设置回其默认值。

相反,我想将一个移交给另一个。

这是 WPF 的限制,根本无法做到吗?

0 投票
4 回答
8241 浏览

.net - 如何结合 DataTrigger 和 EventTrigger?

注意我已经提出了相关问题(答案已被接受):如何结合 DataTrigger 和 Trigger?

我想我需要结合 anEventTrigger和 aDataTrigger来实现我所追求的:

  • 当一个项目出现在我的 ListBox 中时,它应该会闪烁片刻
  • 如果该项目是“关键”,那么它应该保持突出显示

目前我有一个看起来像这样的 DataTemplate:

这个想法是,EventTriggerHighlight在项目首次加载时将边框的不透明度设置为 0 和 1 之间的动画并再次返回,从而吸引用户的注意力。DataTrigger确定动画的次数。如果视图模型报告该项目,IsCritical则动画发生 5.5 次(以不透明度 1 结束),否则发生 5 次(以不透明度 0 结束。)

但是,上面的 XAML 不起作用,因为 DataTrigger 的设置器失败:

在 VisualTree 中找不到名称为“LoadedAnimation”的子项。

很公平。因此,对于使用自定义值转换器或将动画计数放在视图模型上并绑定到它,我有什么选择?

0 投票
2 回答
4641 浏览

wpf - 删除情节提要但保留动画价值?

如何删除 XAML 中的情节提要(即 DataTrigger 中的 RemoveStoryboard 操作)但保留动画的值。类似于Animatable.BeginAnimation

如果动画的 BeginTime 为 null,则所有当前动画都将被移除并保留属性的当前值。