我在wpf中有一个绑定到Collection的数据网格。在其中一列中,我想绑定一个返回字符串而不是属性的公共方法。 有没有办法在WPF中解决这个问题。
顺便说一下它的单向绑定。
答案 0 :(得分:1)
您可以使用
完成此操作但是我会建议使用一个属性。这就是WPF应该工作的方式,并为您处理所有UI更新逻辑。
为什么要绑定到方法?
答案 1 :(得分:1)
我不完全确定你想要做什么,前两个答案的建议可能(并且可能更多)适合你的场景,但只是你回答你的问题,你可以间接绑定到一个方法使用一个ObjectDataProvider
。
<Window>
<Window.Resources>
<ObjectDataProvider x:Key="newGuidProvider"
ObjectType="{x:Type Guid}"
MethodName="NewGuid"
/>
</Window.Resources>
...
<TextBlock Text="{Binding Source={StaticResource newGuidProvider}" ... />
...
</Window>
这只是一个快速示例,您可以查看ObjectDataProvider以查看它是否适合您的方案。 Here is a great resource显示其他可能性,例如通过绑定将参数传递给方法等。
答案 2 :(得分:0)
如果我理解你想要什么,那么你应该足够实现IValueConverter接口并将它在XAML中分配给你的列数据绑定的Converter
属性:这里有一个如何使用它的例子:WPF Converter Example
有关更详细的分析,可以查看使用其中一堆的SvnRadar开源项目。
修改强>
实际上没有DataGrid
控制,有一个ListView
,但概念是相同的。
希望这有帮助。