2013-05-09 81 views
2

我在C#開發Windows 8應用程序,並使用數據綁定綁定屬性,方法

<CollectionViewSource 
    x:Name="departments" 
    Source="{Binding Departments}" 
    d:Source="{Binding AllGroups, Source={d:DesignInstance Type=data:Department, IsDesignTimeCreatable=True}}"/> 

我這個類的屬性綁定到我的UI,但是類也有這個方法,我需要

public String getProfessorsList() 

我希望能夠結合這樣的方法......

<TextBlock Text="{Binding getHeads()}" FontSize="18" /> 

...但顯然這不是允許。我怎樣才能實現這個功能?

+0

綁定到他們的getter返回方法調用自動實現的屬性。 – tnw 2013-05-09 17:25:22

回答

3

嘗試只添加一個getter屬性,返回這個方法:

public string ProfessorsList { get { return this.getProfessorsList(); } } 

,然後綁定到該屬性:

<TextBlock Text="{Binding professorsList}" FontSize="18" /> 
+1

請記住,如果ProfessorsList返回的字符串發生更改,您的UI將不會更改以反映該問題。如果這是可以接受的,那麼出於性能原因,您應該將綁定模式設置爲OneTime。 – 2013-05-09 17:51:41

+2

如果知道字符串更改的時間,可以繞過@KshitijMehta提到的問題。在這種情況下,你仍然可以爲'ProfessorsList'屬性調用'NotifyPropertyChanged()'方法,並且它會適當更新。 – mydogisbox 2013-05-09 19:09:51

+0

你會如何去傳遞參數給Method? – KidCode 2016-01-24 12:40:49