gpt4 book ai didi

wpf - 如何从 wpf 表单 View 模型访问用户控件中的组合框文本?

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

我有一个用户控件,其中有 4 个组合框绑定(bind)到该用户控件的 View 模型中的集合。

我以 wpf 形式使用了这个控件。这个 wpf 表单有自己的 View 模型。

如何从 wpf 表单的 View 模型中的 4 个组合框访问文本?

最佳答案

编辑:我看到你有不同的 View 模型。现在这取决于您的用户控件的使用和 mvvm 的使用:)

  • 您可以使用 messenger 或 eventtaggregator 将 seleteditems 从 usercontrolviewmodel 通信到 mainviewmodel。
  • 您还可以在用户控件中使用 RelativeSource 绑定(bind)将选定项直接绑定(bind)到您的主视图模型(用户控件只是控件的组合)。
  • 您可以去掉 usercontrol viewmodel 并将所有内容放在 mainviewmodel 中,并以我的旧示例
  • 您可以在您的用户控件中为 SelectedItems 创建 DependencyProperties!(不是用户控件 View 模型!)并将它们绑定(bind)到您的主视图模型中的属性。如果用户控件应该是真正的用户控件,我认为这是最干净的方式。

  • 老例子:
    在您的 View 模型中://真正的代码当然应该实现 INotifyPropertyChanged并适当提高
     public ObservableCollection<string> MyFirstCollection {get; set;}//init once, add,remove,clear to alter

    public string MySelectedCombobox1Value {get;set;}

    在您的用户控件中:
     <ComboBox ItemsSource="{MyFirstCollection }" SelectedItem="{Binding MySelectedCombobox1Value, Mode=TwoWay}" />

    这一切都与你的问题有关。请务必设置 DataContext对。您可以使用 snoop 等工具进行检查。我发布的代码预计组合框的数据连接是 View 模型。

    关于wpf - 如何从 wpf 表单 View 模型访问用户控件中的组合框文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11569156/

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