gpt4 book ai didi

wpf - 如何在 MVVM 场景中将控件的命令绑定(bind)到 subview 模型命令?

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

我在 WPF 中有一个基于 View 模型的窗口。 View 模型包括一个可以在运行时切换的 subview 模型。每个 subview 模型都有自己的命令。父 View 包含一个带有按钮的功能区,这些按钮需要绑定(bind)到当前 subview 模型命令。要切换 View ,我在使用数据模板的父 View 中使用内容控件。每个可能的 subview 都是绑定(bind)到适当 View 模型的用户控件(该位有效)。

    <!-- Switchable area -->
<ContentControl Content="{Binding ChildViewModel}">
<ContentControl.Resources>
<DataTemplate DataType="{x:Type vm:VersionsViewModel}">
<embeddable:VersionsView />
</DataTemplate>
<DataTemplate DataType="{x:Type vm:LockListViewModel}">
<embeddable:LockListView />
</DataTemplate>
</ContentControl.Resources>
</ContentControl>

例如,我的一个 subview 模型有一个刷新命令。我希望它出现在功能区按钮的主视图中。我尝试将绑定(bind)设置为以下 XAML,但它从未绑定(bind),因此不会调用该命令。我究竟做错了什么?
<telerik:RadRibbonButton Size="Large"
Text="Refresh"
LargeImage="..\Images\Ribbon\32x32\Refresh.png"
Command="{Binding ChildView.RefreshCommand}"
telerik:KeyTipService.AccessText="R"/>

在主视图的其他地方,我绑定(bind)了来自 subview 模型的数据并且工作正常,所以我真的很困惑!例如,这是我用来获取窗口标题的绑定(bind)。
Title="{Binding ChildViewModel.Title,FallbackValue='My System'}"

最佳答案

<telerik:RadRibbonButton Size="Large"
Text="Refresh"
LargeImage="..\Images\Ribbon\32x32\Refresh.png"
Command="{Binding ChildViewModel.RefreshCommand}"
telerik:KeyTipService.AccessText="R"/>

你没有绑定(bind)到 View 模型

关于wpf - 如何在 MVVM 场景中将控件的命令绑定(bind)到 subview 模型命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14647077/

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