gpt4 book ai didi

wpf - 使用 MVVM 将父窗口的事件绑定(bind)到 UserControl 内部处理程序

转载 作者:行者123 更新时间:2023-12-03 10:24:23 25 4
gpt4 key购买 nike

我有一个在 ContentControl 中加载用户控件的父窗口。父窗口有一个带有一些按钮的工具栏(即保存按钮)。我想分配将在用户控件内处理的那些按钮命令。

我需要从用户控件的 ViewModel 管理我自己的 ICommand 命令,因此总结一下:用户单击“保存”按钮(在主窗口上),因此该按钮触发用户控件处理的事件以将信息保存在控件中。

这可能吗?

最佳答案

有两种方法可以做到这一点。

  • 使用 MVVM,
    由于您的窗口包含 UserControl,因此您需要进行设置,以便 Window 具有对 UserControl ViewModel 的引用(假设它被称为 UserControlViewModel)。如果您在 UserControlViewModel 中有一个命令,则可以通过调用以下命令绑定(bind)到该命令: UserControlViewModel.Command 类似:
    <Button x:Name="Save" Content="Save" Command="{Binding UserControlViewModel.SaveCommand}">
  • 使用事件处理程序

    同样,您的窗口需要引用实现事件处理程序的类。您可以在 Window XAML 文件中包含以下内容:
        <Button x:Name="Save" Content="Save" Clicked="SaveButtonClicked"/>

    然后在你后面的代码中,
             private void SaveButtonClicked( .... sender, .... e)
    {
    UserControlClass.SaveData();
    // or using command
    UserControlClass.MyCommand.Execute()
    }
  • 关于wpf - 使用 MVVM 将父窗口的事件绑定(bind)到 UserControl 内部处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618315/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com