问题标签 [multidatatrigger]

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 回答
417 浏览

c# - 不同 DataGrid 行的不同选择颜色

我正在尝试根据行的类型以及是否选择它来为数据网格中的不同行设置不同的颜色:

当我运行它时,我得到 ArgumentException: key cannot be null。

我怎样才能解决这个问题?

0 投票
3 回答
1950 浏览

wpf - 如何检查一行是否有奇数?

我正在尝试使用 XAML 为奇数行设置不同的颜色。

有问题的数据网格有 3 种不同类型的数据,我想用不同的颜色着色,而简单地更改 AlternatingRowBackground 是行不通的。

我打算使用类似的东西

似乎没有这样的属性IsOddRow。我应该检查什么属性?

0 投票
1 回答
827 浏览

wpf - WPF - 如何将两个不同的数据视图绑定到数据网格中的一个多数据触发器中

我正在使用 MVVM 模式,如果两个布尔值设置为 true,我有一个带有一列的 DataGrid,该列显示一些图片。一个值在绑定以生成行的 DataView (DtView) 中,绑定没有问题,但另一个值是 ViewModel 的公共属性(与 DtView 相同),这是问题所在。我不知道如何解决这个问题。
这是我的代码:

如果有人可以帮助我,我会非常高兴,因为这很令人沮丧,而且我不知道如何修复此代码。

0 投票
1 回答
754 浏览

wpf - 多触发条件不适用于数据网格?

我有以下数据网格,如果网格设置为只读但不知道如何设置条件,我想为 cover = false 的行着色。问题似乎与第一个条件有关,其中cover = false,好像我删除了这个条件另一个正在工作

0 投票
2 回答
2094 浏览

wpf - 触发器不更新

这是我想做的伪代码

下面的 ToggleButton 的样式在第一次更新时获得正确的条件,但此后不会改变。

例如,如果我进行了不会使 vm 无效的更改,则颜色正确为绿色。但是,如果我随后进行更改以使 vm 无效,它会保持绿色,而它应该是红色的。相反,如果第一次更新使 vm 无效,则颜色正确设置为红色,但纠正无效错误但使 vm 变脏的第二次更新不会将颜色更改为绿色。

我究竟做错了什么?

我还没有尝试过 Visual State Manager,但这会是首选方式吗?看起来怎么样?

用法

样式

0 投票
1 回答
1328 浏览

c# - 在 wpf 中使用 EntityFramework 模型作为数据上下文

我正在创建一个简单的 WPF 应用程序,该应用程序需要使用实体框架模型显示/编辑来自 SQL 服务器的数据。我创建了一个小测试窗口来查看事情是如何工作的,我注意到属性更改事件和数据验证是自动实现的。这是我的xml:

这是我的代码:

MHeight 是一个整数,如果我在文本框中输入一个非整数值,它的边框会变成红色并且按钮会被禁用(根据上面的验证样式)。如果我单击按钮,则新数据将正确保存。
EF 模型是否实现了 INotifyPropertyChanged 和 IDataErrorInfo 接口?

0 投票
2 回答
3177 浏览

wpf - 根据 ListBox 中的索引设置 ListBoxItem 的样式

如果 SomeProperty 值为 10,我想更改 ListBox 中第一项的边距,而不使用代码隐藏。这是我到目前为止所拥有的:

当我尝试这种方法时,我得到:

System.Windows.Data 错误:4:找不到与引用'RelativeSource FindAncestor,AncestorType ='ListBox',AncestorLevel ='1''的绑定源。BindingExpression:Path=Items.Count; 数据项=空;目标元素是 'ListBox' (Name=''); 目标属性是“NoTarget”(类型“对象”)

如果我只有第一个条件,它会正确应用边距。我尝试的另一种方法是使用 ElementName:

这种方法不会给出任何错误,但它也不起作用。

任何帮助将非常感激。

0 投票
1 回答
1914 浏览

wpf - 如何将父母属性绑定到子元素数据模板

如果 DataGrids 孩子通过转换器,我需要将我的 DataGrid 的 RowStyle 属性绑定到 Visibility。问题是孩子存在于 DataTemplate 中。我下面的代码是我现在正在做的简化版本,所以它可能没有多大意义。但不管怎么说:

问题是,TextBlock 和 Image 可以单独折叠。如果两者都折叠,我需要 DataGridRow 折叠或隐藏,这样你就不会在网格中看到它。我的计划是定义一个名为“DataGridRowStyle”的 RowStyle。该样式将由 TextBlock 和 Images 的 Visibility 属性触发,并将 RowStyle 的 Visibility 设置为折叠。

不幸的是,我在运行时收到警告,其中 System.Data 无法找到我的 textBlock 或图像元素。我猜你不能绑定到 DataTemplate 或者我做错了什么?我能以某种不同的方式做同样的事情吗?

0 投票
2 回答
5120 浏览

wpf - 如何将触发器与 SourceName 和 DataTrigger 结合使用?

在我的 WPF 控件中,我有以下两个触发器:

两者都为自己工作正常。但我需要这些的组合。我试过这个:

但它什么也没做。我在输出窗口中收到此消息:

System.Windows.Data 错误:17:无法从“”(类型“字符串”)获取“IsMouseOver”值(类型“布尔”)。绑定表达式:路径=(0);DataItem='String' (HashCode=1047858601); 目标元素是'TreeViewExItem'(名称='');目标属性是'NoTarget'(类型'Object') InvalidCastException:'System.InvalidCastException:在 Typ“System.Windows.DependencyObject”umgewandelt werden 中的 Das Objekt des Typs“System.String”kann nicht。

这并不能告诉我任何事情。它将如何运作?

更新:完整的项目代码现在可以在我的 GitHub 存储库中查看。我对 MultiDataTrigger 的猜测目前位于.

0 投票
1 回答
9113 浏览

c# - 验证空文本框

我的 wpf 应用程序上有三个文本框。当用户在这些文本框中输入值并单击 时Add,这些值将添加到列表中并显示在数据网格中。

文本框本身并没有绑定到任何东西,我将这些文本框值添加到绑定到数据网格的观察集合中。我想防止用户在文本框中输入空值。这是怎么做的?

我看到了一些示例,但这些示例都将文本框绑定到值,然后使用Binding.Validation. 当绑定到文本框时,这将如何完成?

我还有一个按钮,在输入空值时必须冻结该按钮。为此,我通过创建一个类并以下列方式绑定该类来实现以下方法;

.cs 类