3

我一直在尝试使用应用程序栏(AppBarButton当然还有 caliburn 项目),它预计会根据活动的枢轴项目更改其按钮集及其操作。

这些项目通过屏幕视图模型表示,它们的父Conductor视图包含应用栏。

我真的坚持以上,基本上我无法弄清楚两件事:

1)我如何正确访问应用程序栏并在LoadedPivotItem触发时直接从我的视图模型绑定其按钮消息?当我添加一些按钮来指定它们的 Message 属性Message = "DoSomething"时,单击时没有任何反应。当我在 XAML 中执行此操作时,一切都很好。OnInitialize或 .ctor 也可以正常工作,但我实际上需要知道选择了哪个枢轴项来注入正确的按钮!

2)当按钮动作触发时,我如何正确地将它传递给子屏幕,以便它调用自己的方法?事件聚合器是唯一正确的方法吗?

如果可能,请给我一些代码示例 - 我在网上找不到任何东西

4

1 回答 1

2

我自己解决了这个问题。

基本上我已经尝试了几个第三方应用程序栏并丢弃了所有这些。虽然如果有兴趣可以研究一下:

他们都没有为我工作,但只是因为我的项目中的caliburn。在正常情况下,它们会非常适合,因为第一个允许定义 ButtonsSource,第二个允许在 XAML 中为每个枢轴/全景项目设置自定义按钮!哇!

我使用了这个链接: http: //www.markermetro.com/2010/07/technical/windows-phone-7-creating-that-elusive-reusable-application-bar/它回答了我的第一个问题。

至于第二个问题,我目前只是检查子视图模型是否处于活动状态,然后从Conductor. 我知道有点脏,但在这一点上总比没有好。

于 2012-08-06T20:22:14.067 回答