问题标签 [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.
silverlight - Silverlight 转换器将对象转换为字符串并返回
我的模型中有一个地址对象,它有 6 个地址行作为单独的属性。在我的 Silverlight 视图中,我希望它显示在多行文本框中并使用数据绑定进行更新。
View 链接到 ViewModel,该 ViewModel 具有始终设置的 Address 属性。我的第一个想法是使用一个 ValueConverter,它最初很好,因为它可以接受一个 Address 对象并传回一个显示的字符串。
当我想 ConvertBack 字符串时,我的问题就出现了。我希望更新现有的地址对象,但找不到这样做的方法。我认为您可以传回一个新的 Address 对象,但这不是我想要发生的。
我在这里走在正确的轨道上,或者有比使用 ValueConverter 更好的方法。
wpf - How to set error message through converter in wpf
NOTE: this question is 8 years old! the WPF strategy for handing custom errors has significantly changed since it was asked. please see https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-implement-binding-validation
I have a custom numeric text box bound to a double. on error, the default error message that shows (as a tooltip) is "can not convert string to double" or something similar.
How can I change that custom message?
I'm trying to do it through the converter:
c# - 泛型类型转换器 - 泛型问题
我试图让这个工作: http ://drwpf.com/blog/2009/03/17/tips-and-tricks-making-value-converters-more-accessible-in-markup/
我从我们有基类的注释中获取代码,然后从它派生。但是,当我这样处理时出现错误:
它说“非泛型声明不允许约束。我将其更改为:
这似乎解决了它,但我不能从这个类派生
在这里我得到错误:
错误 1 使用通用类型“IDATT.Dispatch.ConverterMarkupExtension”需要 1 个类型参数 C:\SVN\IDATT\Code\IDATT.Dispatch\ValueConverters.cs 29 44 IDATT.Dispatch
另外,有人能解释一下“where T: class, new”是什么意思吗?我刚刚开始了解泛型,但不确定这种特定语法的作用。
c# - 我可以将整个 UI 元素传递到 IValueConverter 吗?
ComboBox 具有与所选得分值最高的地理数据库匹配的地址。文本块具有用于匹配的用户输入地址。如果地址相同,我希望前景为绿色,否则为红色。
我想也许我可以将整个 TextBlock 传递给数据转换器,获取其父 StackPanel,获取子 0,转换为 Combobox 获取第 0 个元素并进行比较,然后返回红色或绿色。这是可行的吗?
否则我想我必须遍历我认为丑陋的视觉树
silverlight - 如何有条件地格式化 Silverlight Toolkit LineSeries 中的轴值
我正在尝试有条件地格式化出现在 LineSeries 的 NumericAxis 轴中的数字(来自 Silverlight 4 Toolkit)。更具体地说,我希望 >=10000 和 <=0.0001 的数字以科学计数法显示,但我似乎无法完成这项工作。
我可以像这样覆盖 NumericAxisLabel 模板:
但这会将科学记数法格式应用于轴上的所有标签。我想要的是字符串格式表达式只有在我上面提到的条件发生时才“启动”。
通过使用带有自定义值转换器的绑定,我能够在 LineDataPoint 工具提示模板中轻松完成此操作,如下所示:
要是我能像在 LineDataPoint 模板中那样为 NumericAxisLabelStyle 中的“FormattedContent”指定一个转换器就好了……肯定有办法!
有任何想法吗?
在此先感谢您的帮助!
c# - IValueConverter 接口中的 ConvertBack 方法有什么用?
接口中的ConvertBack
方法有什么用。IValueConverter
什么时候会被调用?
或者调用and方法的顺序是什么?Convert
ConvertBack
我在这里问了这个问题,因为:我已将代码隐藏的一个属性绑定到 TEXTBOX 的 TEXT 属性并convertor
用于该属性。第一个Convert
方法调用,当我没有任何改变TEXT
时TEXTBOX
......但是只要我关闭该ConvertBack
方法调用的表单。
c# - 加载时调用 IValueConverter 的 ConvertBack
我将组合框(如果列表框项模板的一部分)绑定到枚举,则选定项绑定到绑定到列表框的集合。
我将转换器用于某些逻辑。
问题是 ConvertBack 在启动时没有被调用,但只有当我重新选择组合框中的项目时。
我也需要它在启动时调用。
silverlight - Silverlight - 如何为可选文本创建内容控制器
全部。我的项目中有 ContentControl,它绑定到一个返回 HTML 语法的字符串的属性。
控制 Xaml
你会注意到我在这个控件上有一个 Converter 属性。本质上,我在返回字符串时对其进行评估,并去除 html 并将其替换为 xaml 以突出显示返回中的关键字。
这是格式转换器代码:
到目前为止,这工作正常。该字符串在视图中呈现,并且具有标签“hilight”的单词被转换为在控件中呈现一个突出显示的单词作为 xaml 语法。您还可以看到其他清理,例如删除片段标记和 & 符号。
我遇到的问题是我需要能够在运行时从控件中选择文本。虽然当您需要从 UI 中选择文本时通常使用 TextBox,但它不支持 Run 类,因此我无法将突出显示格式传递给 UIelement。我也尝试过使用 RichTextBox,但我收到了一个 xaml 解析错误,指出无法创建控件。
我确实在 stackoverflow 和 silvelright.net 上看到了一个有类似问题的链接,用户建议将样式应用于文本块。但是,由于这是在 ContentControl 中呈现的,因此无法设置样式。
到目前为止,我已经尝试过使用 ViewScroller、Textbox 和 RichTextBox,它们都因渲染时的解析错误而失败。
我什至不确定这是否可行,因为我正在突出显示文本并且还需要选择它。我欢迎任何建议或想法。
谢谢,
c# - Silverlight 使用阈值转换值
我正在尝试使用两个阈值转换一个值,对数据库的调用将返回三个变量
如果分数低于下限阈值,则显示红色图像,如果在两个阈值之间,则显示琥珀色,如果高于上限阈值,则显示绿色。
目前我正在使用自定义 ValueConverter 但我不确定这是否是最好的方法。我将高阈值和低阈值合并在一起,使它们看起来像“30,50”,然后解析字符串中的值并计算出要显示的图像。
这是我用于 ValueConverter 的代码
任何关于更好方法的建议将不胜感激,
谢谢
编辑
决定使用如下代码,服务端返回如下结构
这是转换它并显示正确图像的代码
silverlight - Silverlight 值转换器
我有一个值转换器为来自数据库的传入字符串值运行,为性别设置适当的图标。传入的值必须是 M 或 F,其中任何一个都将分别显示男性或女性图标。绑定在某种程度上是有效的,因为图片出现了,但它只为任一值显示一组图标。
值转换器代码如下:
XAML如下
该资源在 usercontrol.resources 中被引用,并且我认为所有内容都已正确绑定。那么为什么转换器总是只返回一个值呢?