问题标签 [ivalueconverter]

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

.net - 如何观察转换后的集合?

我将一个集合绑定ObservableCollection<Foo>到我的控制器上的依赖属性,但我通过 IValueConverter 运行它来ObservableCollection<object>代替它,这是我的控制器所期望的。转换工作正常 - 我创建一个ObservableCollection<object>并用原始列表中的所有 Foo 填充它。然而,这带来了一个问题,即现在我正在观察值转换器中创建的集合,因此看不到对原始集合的任何更改。

所以; 我是否必须在转换器中连接事件处理程序以手动保持转换后的集合与原始集合同步,还是有更好的方法来处理这个?我想如果不实际创建新集合就无法进行转换?或者我可以以某种巧妙的方式进行绑定,这样我就不必进行转换?

0 投票
2 回答
122 浏览

.net - 使用转换器

我必须将字符串(“00:10:08:10”)格式化为(10 周 08 天 10 小时)。所以我使用了一个转换器并将它与数据网格绑定一起添加。我的代码:

我正在对其进行转换,但是当我编辑数据时,再次调用转换器,我不会使用旧格式(“00:10:08:10”),而是使用它的(10 Dy 08 Hr 10 Min)。所以转换器显然失败了。我怎样才能让它工作?

附加:mssql 中是否有数据类型以天和小时表示我的数据,这样我就不必使用这种字符串格式。

0 投票
1 回答
663 浏览

wpf - 是否可以将 IMultiValueConverter 用于项目列表?

我将 EmployeeList 作为 Employee 对象的 observableCollection。

Employee 对象有 Salary。

我想在 XAML 中显示一些值,例如员工的平均薪水,并且当将项目添加到列表中或在任何更新的项目中更改薪水字段时,UI 字段应自动更新。

这可以通过为平均值创建一个属性并侦听列表中的集合 Changed 和 ProperyChanged 处理程序来实现。

但是,我确信应该有其他更好的方法来做到这一点。(如使用 AttachedProperties 或 IValueConverter/IMultiValueConverter)

关于这一点,我有以下问题。

  1. 是否可以将 IMultiValueConverter 用于项目的 List/ObservableCollection?当项目添加到列表以及特定属性更改时应该调用转换器?
0 投票
1 回答
305 浏览

wpf - 带有 4 个值和 4 个画笔的 WPF BoolToBrushConverter 返回?

我使用 BoolToBrushConverter 将 TextBox 的 Brush 属性绑定到 UserControl 中的 IsValid 依赖属性。我的 IsValid 需要 4 个状态,因为我需要 4 个不同的画笔从转换器返回。还有另一种使用字符串的方法吗?而不是布尔,可以吗?

0 投票
1 回答
336 浏览

c# - 对 DataGrid 列使用转换器

我使用 MVVM 模式创建了我的 Windows 数据库基础架构。我有为我的 DataGrid 返回数据的方法。我希望 DataGrid 中的某些列使用 Converter (IValueConverter) 但我将 DataGrid 直接绑定到数据的问题。我不能在 xaml 中强类型列规范,因为列数可能不同。我也无法在 ViewModel 中获取 UI 元素(DataGrid)进行更改。

0 投票
5 回答
93118 浏览

wpf - 如何将整数作为 ConverterParameter 传递?

我正在尝试绑定到整数属性:

我的转换器是:

问题是当我的转换器被调用时,参数是字符串。我需要它是一个整数。当然我可以解析字符串,但我必须这样做吗?

感谢您的帮助康斯坦丁

0 投票
1 回答
9847 浏览

c# - WPF IValueConverter - 将多个值转换为单个值

我现在正在尝试维护其他人的代码,该人是 WPF 专家。另一方面,我不是。:)

该代码使用 IValueConverter 将状态枚举转换为布尔值,该布尔值控制 UserControl 是否显示在屏幕上。

我发现了一个缺点,在这种情况下单个枚举是不够的,实际上还需要考虑另一个布尔值。是否有另一个可以使用的对象将 2 个项目作为参数来进行转换?(“转换器”参数已被使用。)

一个简单的例子如下。

现有代码的逻辑说......

我需要考虑另一件事,这将使它如下。

执行转换的 IValueConverter 只允许我拿一个“东西”进行转换。

任何帮助表示赞赏。谢谢,

0 投票
1 回答
299 浏览

data-binding - IValueConverter 在混合设计中不起作用

我正在使用 Blend 4。我有一个列表项,我使用这种方法将其绑定到示例数据集 VM ,效果很好。问题在于应用于绑定的 IValueConverter。Blend 似乎没有在设计时 UI 中处理转换器。Blend 是否可以在设计时使用转换器处理数据?

0 投票
1 回答
507 浏览

silverlight - 将 TextBox 值传递给 Silverlight 3 中另一个数据绑定控件使用的 IValueConverter?

我有一个 Silverlight 3 控件,我在其中使用 ItemsControl 来显示项目列表。我已经实现了一个“过滤器”或“搜索”文本框,它允许用户在控件的文本框中输入搜索词,这会将 ItemsControl 中显示的项目限制为包含在文本框中输入的字符串的项目。我已经能够实现此功能,但我想通过更改项目控件中显示的文本中搜索词文本的颜色来增强它。例如,如果用户在搜索文本框中键入“foo”,我想将 ItemsControl(我已经在做)中的项目过滤为包含“foo”的项目,并更改子字符串“foo”的背景颜色" 它出现在 ItemsControl 中。

理想情况下,我会实现一个 IValueConverter 并将搜索文本框中的值作为参数传递给转换器。然后转换器可以搜索正在转换的值并更改所有“foo”子字符串的背景颜色(不确定我将如何执行此操作,可能与 Inlines 相关?)。似乎传递给值转换器的参数值必须是静态资源。有什么方法可以将非静态值传递给值转换器来完成我想要做的事情?还有另一种不使用 IValueConverter 的方法吗?

0 投票
1 回答
891 浏览

c# - 输入有效时如何仅​​使用转换器

我有一个用于输入十六进制值以指定颜色的文本框。我有一个验证器来验证字符串是否是有效的十六进制颜色值。还有一个转换器,可以将“FF0000”之类的字符串转换为“#FFFF0000”.NET 颜色对象。我只想在数据有效时转换值,就好像数据无效一样,我会从转换器中得到一个异常。我怎样才能做到这一点?

下面的代码仅供参考

XAML

验证器

转换器