[英]Binding a method to a column in datagrid WPF
我在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来确定它是否适合您的方案。 这是一个很棒的资源 ,它显示了其他可能性,例如通过绑定将参数传递给方法等。
您可能可以通过使用以下命令完成此操作
但是,我建议使用属性。 这也是WPF可以工作并为您处理所有UI更新逻辑的方式。
为什么要绑定到方法?
如果我正确理解了您想要的内容,那么您就足够实现IValueConverter接口,并在XAML中将其分配给您列数据绑定的Converter
属性:这是一个使用示例: WPF Converter示例
要进行更详细的分析,请查看使用了其中一些的SvnRadar开源项目。
编辑
实际上没有DataGrid
控件,有ListView
,但是概念是相同的。
希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.