我有一个表单,其中的文本框默认输入十进制值。不幸的是,业务规则要求它们也可以接受百分比值(实际上是相同的值,只需乘以100)。为确保将正确的值插入到数据库中(例如,如果受访者输入95,则希望其变为0.95),我在相关文本框旁边添加了复选框,用户可以选择指示该值是百分比而不是十进制数。为了在未来的显示、报告等方面切换十进制数和百分比值,我正在尝试使用IValueConverter。
我已经创建了一个转换器,将字段值乘以100以显示百分比,并且(虽然我还没有进行测试)应该在保存时将该显示值重新转换回十进制数。
我的问题是如何使转换器仅在选择了复选框时起作用。从我所有的阅读中,似乎最有可能的方法是将复选框值用作IValueConverter的参数,但我不知道如何做到这一点。
所以,我的问题是:我怎样才能(或者是否可以)使用与要转换的文本框旁边的复选框的Checkbox.IsChecked值作为IValueConverter的参数来确定是否对文本框文本进行转换?问题在于如何识别与被转换的文本框相关联的复选框,并将其值传递为IValueConverter的参数。
我尝试在这里查找:如何将对另一个控件的引用作为IValueConverter参数传递?,但是它有点令人沮丧。
提前感谢。
Mode=TwoWay
,并确保你已经正确实现了ConvertBack方法。 - Jens