将方法绑定到数据网格WPF中的列
本文关键字:WPF 网格 数据网 方法 绑定 数据 | 更新日期: 2023-09-27 18:03:31
我在wpf中有一个绑定到Collection的数据网格。在其中一列我想绑定一个返回字符串而不是属性的公共方法。在WPF中有办法解决这个问题吗?
顺便说一下,它是单向绑定的
我不完全确定你想做什么,前两个答案的建议可能(可能更)适合你的场景,但只要你回答你的问题,你可以使用ObjectDataProvider
间接绑定到一个方法。
<Window>
<Window.Resources>
<ObjectDataProvider x:Key="newGuidProvider"
ObjectType="{x:Type Guid}"
MethodName="NewGuid"
/>
</Window.Resources>
...
<TextBlock Text="{Binding Source={StaticResource newGuidProvider}" ... />
...
</Window>
这只是一个简单的例子,您可以查看ObjectDataProvider,看看它是否适合您的场景。这是一个很好的资源,它展示了其他的可能性,比如通过绑定将参数传递给方法等。
您可以使用
- 一个IValueConverter
- 附加属性
- 一个行为
但是我建议使用属性。这也是WPF应该工作的方式,并为您处理所有UI更新逻辑。
为什么要绑定到一个方法?
如果我正确理解你想要的,它应该足以让你实现IValueConverter接口,并在XAML中分配它给你列数据绑定的Converter
属性:这里是一个如何使用它的例子:WPF转换器示例
的更详细的分析可以看看SvnRadar的开源项目,其中使用了一堆。
编辑
实际上没有DataGrid
控制,有ListView
控制,但其含义是相同的。