2011-07-25 27 views
1

我在wpf中綁定了Collection的數據網格。在其中一列中,我想綁定一個返回字符串而不是屬性的公共方法。 有沒有辦法在WPF中解決這個問題。將方法綁定到datagrid中的列WPF

順便說一下它的單向綁定。

+0

房產有什​​麼問題? –

+0

只是想知道我是否可以綁定一個方法。 – Novice

回答

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,它顯示了附加的可能性,例如通過綁定將參數傳遞給方法等。

1

您可以通過使用

  • 一些邪惡的招數
  • 一個的IValueConverter
  • 附加屬性
  • 行爲
  • 通過創建一個只讀屬性代理來做到這一點。

但是我會建議使用一個屬性。這正是WPF應該工作的方式,並且也爲您處理所有UI更新邏輯。

爲什麼要綁定到一個方法?

0

如果我正確理解你想要什麼,它應該足夠你來實現IValueConverter界面和XAML其分配給你列中的數據綁定的Converter屬性:這裏有一個例子如何使用它:WPF Converter Example

爲更詳細的分析可以看看SvnRadar開源項目,使用他們一堆。

編輯

沒有DataGrid控制實際上,有一個ListView,但consept是一樣的。

希望這會有所幫助。