问题标签 [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 投票
1 回答
756 浏览

wpf - WPF DataTrigger 不在 ItemsControl 之外触发

我有一个自定义用户控件,它扩展了按钮控件并添加了两个新的依赖属性 IsActive 和 Icon。在控件中有根据值设置图标和活动状态的 DataTriggers。

我遇到的问题是该控件仅在 ItemControl 内部工作。这是项目控件内外的控件的 XAML 部分。当控件不在项目控件中时,触发器不起作用。

这是控件中的 DataTrigger。

唯一不起作用的属性是我的依赖属性。

任何帮助将非常感激。

0 投票
1 回答
6900 浏览

wpf - WPF DataTrigger 找不到触发目标

编译时出现错误“找不到触发目标‘backgroundBrush’。”

如果我删除 DataTrigger,它将编译并工作。如果我更改 DataTrigger 以使用TargetName="grid" Property="Background"它将编译和工作(但没有所需的不透明度)。

我哪里错了?

0 投票
1 回答
4022 浏览

wpf - WPF:当 MVVM 绑定属性更改时激活触发器

不知何故,我在这里绕圈子。如果这个问题的答案很明显,请原谅我。

我想对 View 中 ViewModel 中更改的属性做出反应。当属性(布尔)改变时,视图应该开始一个动画(BeginStoryBoard)。实际上,在我的应用程序中,这些属性中有 4 个,每个属性在 VM 中都有自己的名称,并且每个对应的 4 个容器视图元素都有两个所需的动画(隐藏/显示)。

当直接在各自的容器元素(所有这些都是从 ContentConrol 派生的自定义类型 SizerControl)中设置这些触发器(尝试过 DataTrigger/Trigger/EventTrigger)时,wpf 给了我建议使用样式的错误。直接在容器元素中设置样式时,我得到:“XML 命名空间中不存在标签'Style.Triggers'...”但是在全局 ResourceDictionary 中使用样式时,我不知如何绑定到 4容器获取触发器的“输入”值。

您对如何从架构 pov 解决这个问题有什么建议吗?也许我已经走得太远了,看不到明显的解决方案。

非常感谢,欣纳克

0 投票
1 回答
29616 浏览

wpf - 图像源上的 wpf 数据触发器

假设绑定是正确的并且图像文件在它们应该在的位置,任何人都可以发现为什么当触发器评估为 true 时下面的 xaml 中的图像不会改变?

干杯,
贝里尔

0 投票
1 回答
2603 浏览

wpf - 文本框上的数据触发器不起作用

嗨,我正在尝试编写一个数据触发器,其中我必须在选中的复选框上清除文本框内容。我的代码如下所示

只要您不在文本框中键入任何内容,它就可以工作。只要我在文本框中键入数据触发器就无法工作。我该如何解决这个问题

0 投票
1 回答
5415 浏览

wpf - 属性更改后 DataTrigger 未重新评估

[原创]
我有一个ListBoxItemsSource(这是在创建窗口时在后面的代码中完成的)数据绑定到一个ObservableCollection. 然后针对这些项目分配ListBox了以下内容:DataTemplate

用户控件.xaml

应用程序.xaml

ObservableCollection使用对象更新 时,这会出现在ListBox具有正确初始值DataTemplate的 中,但是当hasBeenAnswered属性设置为true(调试时我可以看到集合是正确的)时,DataTrigger不会重新评估然后更新ListBox以使用正确的DataTemplate.

我已经INotifyPropertyChanged在我的对象中实现了事件,如果在模板中绑定了一个值,我可以看到值更新。只是DataTrigger不会重新评估并更改为正确的模板。

我知道DataTrigger绑定是正确的,因为如果我关闭窗口并再次打开它,它将正确应用第二个数据模板,因为hasBeenAnswered设置为true.

[编辑 1]
根据 Timores 的评论,我尝试了以下方法:

用户控件.xaml

应用程序.xaml:

现在发生的情况与第一个示例类似,当“未接听”标签显示来电时(每个呼叫存在一个,因为这是一个列表框 - 通常当窗口加载时不会有呼叫),然后呼叫已回答并且属性hasBeenAnswered设置为 true,但“未回答”保持不变。如果我关闭窗口,然后再次重新打开它(活动调用仍将属性 hasBeenAnswered 设置为 true),则背景为蓝色。所以在我看来,数据触发器根本没有运行,直到窗口重新运行。

0 投票
1 回答
1386 浏览

c# - 数据触发器不起作用

我的风格在 XAML 中有这个:

这个 XAML 在我有按钮的窗口中:

在 MyCustomButton 代码中:

但它不起作用!有小费吗?

0 投票
1 回答
948 浏览

silverlight - Silverlight 4.0:多数据触发器

有没有一种方法就像在 Silverlight 4.0 中实现的 WPF 的 multidatatrigger 行为一样?

或者

另一种行为类似于多数据触发器的解决方法?

0 投票
1 回答
949 浏览

wpf - DataTrigger 仅适用于 TabControl 中的第一个 TabItem

这似乎是 WPF 中的一个错误,但也许有人对此有答案。我有一个用于可编辑组合框的 DataTrigger。它适用于我的 TabControl 的第一个 TabItem,但不适用于第二个。如果您将第一个与第二个 TabItem 切换,则“第二个”将起作用。当您将样式完全赋予 ComboBox (ComboBox.Style ...) 时,也会发生相同的效果。

0 投票
2 回答
4088 浏览

wpf - DataTrigger 绑定的问题 - 未调用设置器

我有一个绑定到 XAML 中的按钮的命令。执行时,该命令会更改基础 DataContext 上的属性值。我希望按钮的内容反映属性的新值。

这有效*:

但这不会:

这是为什么?

*“作品”是指每当我单击按钮时内容都会更新。我不知道它是否重要,但以防万一,我使用的是 .NET 3.5 SP1。

更新:

我还尝试了另一种变体(删除第二个 DataTrigger 以支持默认值),仍然无济于事:

TIA