c# – GridViewColumn中的WPF转换器 – 保留ConvertBack-Method
发布时间:2020-12-15 21:05:40 所属栏目:百科 来源:网络整理
导读:我有一个GridView,其中一些列显示材料. viewmodel值全部以kg保存,因为某些视图应转换并将其显示为升.使用IMultiValueConverter可以轻松完成. public object Convert(object[] values,...){ var valueInKg = (double)values[0]; var density = (double)values
我有一个GridView,其中一些列显示材料. viewmodel值全部以kg保存,因为某些视图应转换并将其显示为升.使用IMultiValueConverter可以轻松完成.
public object Convert(object[] values,...){ var valueInKg = (double)values[0]; var density = (double)values[1]; return valueInKg/density; } 现在我在进行后向转换时遇到问题.我试图将输入值(密度)存储在转换器中,但确实有一个实例,因此有时会出现错误的密度值.我找到了this x:shared=”false” approach,但是想要在从System.Windows.Data.MultiBinding派生的类中设置转换器. public class MyBinding : MultiBinding { public MyBinding(){ Converter = new MyConverter(); } } 我假设这将导致每个绑定的单独实例 – 它不会.我怎样才能做到这一点? 编辑: 解决方法
以下肯定会创建一个MyConverter类的新实例: Converter = new MyConverter(); 确保为每个绑定创建MyBinding类的新实例. 你也可以在XAML中创建一个新的转换器实例,如下所示: <TextBlock> <TextBlock.Text> <MultiBinding> <MultiBinding.Converter> <local:MyConverter /> </MultiBinding.Converter> <Binding Path="Test" /> </MultiBinding> </TextBlock.Text> </TextBlock> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |