标签的“内容”设置为:
Content="{Binding Homescore,Converter={StaticResource fmtshs}}"
和
Content="{Binding Awayscore,Converter={StaticResource fmtshs}}"
我的IValueConverter的转换方法是这样的:
Public Function Convert( ByVal value As Object,ByVal targettype As System.Type,ByVal parameter As Object,ByVal culture As System.Globalization.CultureInfo) As Object Implements System.windows.Data.IValueConverter.Convert Dim score As Long = value,other As Long = parameter Return If(score < 0,"",If(score - other > 5,(other + 5).ToString,score.ToString) )End Function
所以我想做的是在Homescore的转换器中,我想将Awayscore传递给ConverterParameter,对于Awayscore,我想将Homescore传递给转换器.在任何得分的转换器中,我需要能够知道其他分数的值用于格式化.
但是我无法找出将ConverterParameter绑定到另一个字段的语法.
我尝试过以下 *** 作:
Content="{Binding Homescore,Converter={StaticResource fmtshs},ConverterParameter=Awayscore}" Content="{Binding Homescore,ConverterParameter={Awayscore}}" Content="{Binding Homescore,ConverterParameter={Binding Awayscore}}"
但没有一个似乎不行.如何将字段值传递给ConverterParameter?
解决方法 由于您不能将任何东西传递给ConverterParameter,所以解决方案是将整个对象传递到转换器中,然后可以从转换器中访问所有的属性.所以你的代码变成(假设你的对象叫做Match):
Public Function Convert( ByVal value As Object,ByVal culture As System.Globalization.CultureInfo) As Object Implements System.windows.Data.IValueConverter.Convert Dim match As Match = value ' Do stuff with match'End Function
(由于缺少代码中的细节)
然后你的XAML变成了
Content="{Binding Converter={StaticResource fmtshs}}"
注意当您明显地与转换器绑定时,实际上并非如此.您绑定到数据上下文,而不指定Path,以便您可以访问整个事物.
Source
总结以上是内存溢出为你收集整理的datagrid – 将字段的值传递给Silverlight ConverterParameter全部内容,希望文章能够帮你解决datagrid – 将字段的值传递给Silverlight ConverterParameter所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)