【问题标题】:how to communicate between ViewModels如何在 ViewModel 之间进行通信
【发布时间】:2009-04-04 00:27:56
【问题描述】:

我有一个带有 TabPage1 和 TabPage2 的 TabControl, 在 TabPage1 中,还有另一个 TabControl1,其中包含 2 个项目 TabPage11 和 TabPage12。
在 TabPage2 中,还有另一个 TabControl2 有 2 个项目 TabPage21 和 TabPage22。

每个项目(TabPage11、TabPage12、TabPage21 和 TabPage22)都有自己的 View(以 UserControl 的形式)和 ViewModel。每个 View 上都有 dataGrid。

现在我想为每个 dataGrid 实现 ExportToExcel 函数。我可以在每个 tabItem 上放置一个 ExportToExcel 按钮,但它看起来不太好。所以我在主窗口上放了一个按钮,所以当用户单击该按钮时,所选 tabItem 上的 dataGrid 得到处理。

问题是主窗口上的按钮不知道如何告诉
选择 tabItem 的 ViewModel 来导出它。

有什么建议吗? 提前致谢! 史蒂夫

【问题讨论】:

    标签: wpf mvvm viewmodel


    【解决方案1】:

    主要功能应该整理来自选项卡控制器的信息,如果我理解正确,他们应该整理来自其子选项卡控制器的信息,这将从正确的视图模型中提取信息。

    【讨论】:

      【解决方案2】:

      假设您使用绑定到导出按钮的ICommand,为什么不通过绑定指定命令参数:

      <Button Command="{Binding ExportToExcelCommand}" CommandParameter="{Binding SelectedItem, ElementName=MyTabControl}">Export</Button>
      

      选定的选项卡随后将作为参数传递给命令的Execute 方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-20
        相关资源
        最近更新 更多