这有点难以准确定义我的问题,但我会尽力做到最好! 我实际上有很多(数百个)经典绑定,如下所示:
<ComboBox ItemsSource="{Binding Path=FrameNames}"/>
其中FrameNames是我的代码隐藏的属性。 问题是,我现在必须对方法进行绑定,我知道这不是MVVM规范,但这就是我想要做的。 代码(不起作用)看起来像:
<ComboBox ItemsSource="{Binding Path=LocalizationUtil.GetLocales()}"/>
有办法吗? (即使这不是尊重MVVM模式!)
(如果我在代码隐藏中执行此工作,MyComboBox.Itemsource = LocalizationUtil.GetLocales() 但是,如果有变化,它当然不会被注意到)
答案 0 :(得分:3)
您可以向视图模型添加Locales
属性并绑定到它,就像这样
public LocaleObject Locales
{
get { return LocalizationUtil.GetLocales(); }
}
<ComboBox ItemsSource="{Binding Locales, Mode=OneWay}" />
答案 1 :(得分:2)
是的,你可以,但这有点痛苦。