[英]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.