2013-05-09 103 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