绑定方法?

时间:2012-01-11 15:08:00

标签: c# wpf data-binding

这有点难以准确定义我的问题,但我会尽力做到最好! 我实际上有很多(数百个)经典绑定,如下所示:

<ComboBox ItemsSource="{Binding Path=FrameNames}"/>

其中FrameNames是我的代码隐藏的属性。 问题是,我现在必须对方法进行绑定,我知道这不是MVVM规范,但这就是我想要做的。 代码(不起作用)看起来像:

<ComboBox ItemsSource="{Binding Path=LocalizationUtil.GetLocales()}"/>

有办法吗? (即使这不是尊重MVVM模式!)

(如果我在代码隐藏中执行此工作,MyComboBox.Itemsource = LocalizationUtil.GetLocales() 但是,如果有变化,它当然不会被注意到)

2 个答案:

答案 0 :(得分:3)

您可以向视图模型添加Locales属性并绑定到它,就像这样

public LocaleObject Locales
{
    get { return LocalizationUtil.GetLocales(); }
}

<ComboBox ItemsSource="{Binding Locales, Mode=OneWay}" />

答案 1 :(得分:2)

是的,你可以,但这有点痛苦。

http://msdn.microsoft.com/en-us/library/aa348824.aspx