WPF绑定ItemsSource到静态方法?

11

我有一个名为“Article”的类,其中包含以下静态方法:

public static ObservableCollection<Article> GetObservableCollection() { ... }

我希望直接在XAML中绑定到ComboBox的ItemsSource属性,而不是在代码中,但我找不到正确的语法。

我认为它应该类似于这样(EmacGbscCore是包含Article对象的程序集):

ItemsSource="{Binding Source={x:Static EmacGbscCore:Article.GetObservableCollection}}"

感谢您的帮助提前致谢。

1个回答

29
你需要在资源中声明一个ObjectDataProvider:
<ObjectDataProvider x:Key="data"
                    ObjectType="{x:Type EmacGbscCore:Article}"
                    MethodName="GetObservableCollection" />

使用这个作为你的绑定源:

ItemsSource"{Binding Source={StaticResource data}}"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接