mvvm - 在本地化 ApplicationBar 的代码中绑定(bind) EventToCommand

标签 mvvm mvvm-light windows-phone windows-phone-8

如何以编程方式将 EventToCommand 绑定(bind)到 Windows Phone 8 中的 ApplicationBar Button 或 MenuItem?我目前正在使用 MVVM light,它适用于我可以在 XAML 中添加的所有元素。

通常,我会从 Xaml 定义 ApplicationBar,并可以从那里绑定(bind)到 Expression Blend 中的 EventToCommand。但从 WP8 开始,微软决定更喜欢 localizable ApplicationBar which will be created programmatically ,因为它不能那么容易地绑定(bind)到不同的语言。

重现与按下按钮执行 EventToCommand 相同的行为需要什么?关于 MVVM 模式,这是否可能或鼓励?我的替代方案是什么?

最佳答案

您可以在 WP8 中使用相同的旧 WP7 AppBar。 LocalizableAppBar 只是关于如何本地化 AppBar 的建议。

无论哪种方式,您都可能没有在 AppBar 上使用 EventToCommand,因为它不支持 DataBinding。为此,您需要使用 Bindable AppBar。要么自己编写一个,要么为此使用众多 OSS 解决方案中的一种,例如:AppBarUtils , BindableApplicationBar , Cimbalino或其他。

将上述 ApBar 之一本地化会简单得多,因为您可以将文本数据绑定(bind)到 ViewModel 并使用您想要的任何文本。

关于mvvm - 在本地化 ApplicationBar 的代码中绑定(bind) EventToCommand,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14192656/

相关文章:

c# - PropertyChangedEventHandler 和 NotifyCollectionChangedEventHandler 有什么区别?

wpf - 处理静态资源 ViewModel

c# - 在 mvvm light 中获取已排序的可观察集合

msbuild - 如何通过 MSBuild 构建 .sln 文件的灵活规则跳过项目?

c# - 如何在 App.xaml 文件的 Application.Resources 中组合 LocalizedStrings 和 ResourceDictionary 标签

android - Room、ViewModel 和 LiveData 数据更改后重新加载 RecyclerView

wpf - 在 Prism/Composite MVVM WPF 应用程序中使 View 模型激活感知

c# - 正确处理 MVVM 父级中子级引发的事件

wpf - 使用 View 模型中的属性绑定(bind)到用户控件的属性(包含逻辑)

c# - 无法绑定(bind)到文本 block - Windows Phone - MVVM