Model-View-ViewModel(MVVM)是一种架构设计模式,用于实现用户界面,通过其表示逻辑(其ViewModel)将UI(View)与其数据(Model)分开。
WPF MVVM ListView 和 TextBox OnPropertyChanged 工作正常,但选项卡控件不行
过去几周,当我更改列表视图文本框中的值时,我很难解决在选项卡控件中进行更改的问题,反之亦然。 列表视图和文本框一切正常,但我不是...
将 ReturnCommand 添加到 WPF 自定义文本框
我有一个自定义文本框控件,它工作得很好。 公共类 TextBoxExt :文本框 { 公共事件 ehEmptyArgument ClearAll,保存; 公共 TextBoxExt() { 设置资源参考...
使用 MVVM 的 Office365 Windows 应用程序
我正在新开发office365桌面应用程序。我从这里得到了一些示例代码。我按照注册您的应用程序中提到的步骤进行操作。我可以获得所有详细信息,例如联系方式、电子邮件和
WPF 初学者这里可能是一个非常简单的问题。是否可以选择多行并选中所有选定的复选框? 我想检查选定的 S601 和 S701 盒子...
为什么我的 SwiftUI 视图无法从 @StateObject 的 @Binding 成员获取 onChange 更新?
鉴于我在下面概述的设置,我试图确定为什么 ChildView 的 .onChange(of: _) 没有接收更新。 导入 SwiftUI struct SomeItem: Equatable { var double 值: 双精度 } 是...
使用 MVVM 将新元素添加到 WPF 中 DataGrid 中的 ComboBox
我有一个包含事务的数据网格。我有一个 InterestOrDividend 列,我可以在其中使用组合框选择一个值。这很好用。 一个新功能是输入一个值并添加它......
我正在使用 MVVM 模式对项目进行少量添加。 该项目有点大,但我将其精简为一个很小的示例项目,以使这里的工作变得更容易。 代码 忙碌查看模式...
我正在设计一个主/详细视图模型方案,因此我创建了一个基类,该基类实现“添加”、“编辑”、“保存”、“取消”和“删除”命令,并管理这些命令的 CanExecute 逻辑。豪...
向视图添加一个按钮,使用 Community Toolkit 和 MVVM 将用户重新路由到 Avalonia 中的另一个视图
我刚刚开始学习 Avalonia,我想知道如何创建一个按钮,将我从一个视图重新路由到另一个视图。 我有第一个视图,标题为 ValueSelectionPageView,我想向其添加一个按钮
ObservableCollections vs ObservableObject vs ObservableRecipient vs ViewmodelBase?
我是 avaloniaUI 和 MVVM 社区工具包的初学者。 现在,我正在制作一个 KanbanBoard Windows 应用程序并编写 ViewModel 代码。 我在他们的 github 中红色了 SimpleToDoList。然而我无法理解这些
CommunityToolKit Mvvm 8.2.2 如何将 Integer 注册为 TMessage
我正在尝试将整数注册为 TMessage 但似乎不可能。如果我没记错的话,在 MVVMLightLibs 中是可能的。 这是给出错误的代码 int 最后Recie...
.NET MAUI实时检测当前CultureInfo是否发生变化?
我按照 Geralt 的 YouTube 视频中有关 .NET MAUI 上的多语言的教程进行操作,非常好且非常详细:https://www.youtube.com/watch?v=cf4sXULR7os 经过多次谷歌搜索结果...
我是 mvvm 的新手(当然还有 mvvlight)。我有 3 个模型视图(一个带有容器的主窗口,另外 2 个模型视图(登录和菜单))。在 LoginModelView 中,当用户登录时
我是 C# 和 WPF 的新手,老实说这周才开始自学。我正在尝试制作一个突出显示红色的下拉菜单(表示此字段是必需的),直到选择一个项目...
我正在尝试实现一个 DataGrid,其中一列有一个复杂的对象,而组合框(网格外)有一个该列的同一时间对象的列表。使用 WPF 和 MVVM。 当我...
我正在编写一个程序,该程序读取 cmd 脚本输出并在日志(视图模型)中显示结果。由于脚本运行了很长时间,我希望能够在每行写入后看到输出...
单独的 DataGrid 绑定到同一个 Observable 集合
我有一个带有 TabControl 的 WPF 应用程序,在两个不同的 TabItem 上,我想在每个 TabItem 上的 DataGrid 中显示相同的内容。 操作顺序如下: 用户选择信号或...
UserControl 未在 WPF ContentControl 中呈现
我是 WPF 和 MVVM 的新手。我花了两天时间浏览了一堆关于这个主题的问答,但我还没有成功地让它发挥作用。这不可避免地意味着这是愚蠢的事情......
我在设计可扩展程序的架构时遇到了一些问题。 我正在使用 MEF、MMVM Light Toolkit 和 AvalonDock。 第一个问题是如何显示某些 ViewModel 的视图
CollectionViewSource.SortDescriptions 仅适用于基础 ObservableCollection 的第一个第一个群体
我有一个带有 CollectionViewSource 设置如下的网格: 我有一个 Grid,其 CollectionViewSource 设置如下: <UserControl.Resources> <CollectionViewSource x:Key="PriceHistoryItemsViewSource" Source="{Binding PriceHistory}" IsLiveSortingRequested="True"> <CollectionViewSource.SortDescriptions> <componentModel:SortDescription PropertyName="Inserted" Direction="Descending"/> </CollectionViewSource.SortDescriptions> </CollectionViewSource> </UserControl.Resources> <DataGrid Style="{StaticResource HistoryGrid}" ItemsSource="{Binding Source={StaticResource PriceHistoryItemsViewSource}}"> <DataGrid.Columns> ///... </DataGrid.Columns> </DataGrid> 在 ViewModel 中,PriceHistory 是由 ObservableCollection 更新的 RefreshPriceHistoryAsync,如下所示: public class OptionPriceHistoryViewModel : PriceHistoryViewModel { //... other code public ObservableCollection<OptionPriceHistoryRecordViewModel> PriceHistory { get; } = new(); public override async Task RefreshPriceHistoryAsync(string correlationId) { var priceHistory = await _historyProvider.GetOptionPriceHistoryAsync(id); PriceHistory.Clear(); foreach (var priceHistoryRecord in priceHistory) PriceHistory.Add(new OptionPriceHistoryRecordViewModel( priceHistoryRecord.InsertDate, priceHistoryRecord.Username //... etc. )); } } 此 ViewModel 用作 Window 控件中的 DataContext。 可以重复使用同一窗口来显示各种实体的价格历史记录。 排序仅在第一次填充 PriceHistory 时有效。如果重复使用同一个窗口来显示各种实体的历史记录,则在第一个之后的所有调用中都会忽略排序(即,项目按照它们来自数据库的顺序显示)。 如何在重用窗口时保留排序? 坦率地说,我不明白为什么它不起作用,因为每次重用窗口时,都会创建 OptionPriceHistoryViewModel 的新实例......并且项目的绑定有效,但排序不起作用。 您还需要设置 LiveSortingProperties 属性: <CollectionViewSource x:Key="PriceHistoryItemsViewSource" Source="{Binding PriceHistory}" IsLiveSortingRequested="True"> <CollectionViewSource.SortDescriptions> <componentModel:SortDescription PropertyName="Inserted" Direction="Descending"/> </CollectionViewSource.SortDescriptions> <CollectionViewSource.LiveSortingProperties> <s:String>Inserted</s:String> </CollectionViewSource.LiveSortingProperties> </CollectionViewSource> 这里有一些关于此的链接: 我需要 CollectionViewSource 排序/实时排序说明 https://www.codeproject.com/Questions/326899/CollectionViewSource-not-sorting