WPF使用Prism实现简单订餐系统

新建wpf项目,nuget引入Prism.DryIoc,MaterialDesignThemes

引入后,修改App.xaml 前台引入 xmlns:prism="http://prismlibrary.com/"和prism:PrismApplication App.xaml.cs

App.xaml.cs继承PrismApplication,重写CreateShell和RegisterTypes

cs 复制代码
   protected override Window CreateShell()
   {
       return Container.Resolve<MainWindow>();
  


   }

   protected override void RegisterTypes(IContainerRegistry containerRegistry)
   {

   }

MainWindowViewModel继承BindableBase,实现mvvm

上面步骤,同样可以通过新建prism 项目,自动引入引入了prism

在model中新建属性,实现属性自动通知功能

cs 复制代码
    private double _total;

    public double Total
    {
        get { return _total; }
        set
        {
            _total = value;
            RaisePropertyChanged();
        }
    }

前台绑定

cs 复制代码
 <TextBox VerticalAlignment="Center" x:Name="Total" Text="{Binding Total}"  Width="70" Margin="4 0 0 0" TextAlignment="Center" BorderThickness="0 0 0 2"></TextBox>

新建Command

public DelegateCommand SelCommand { get; set; }

在构造函数中,绑定委托方法

SelCommand = new DelegateCommand(()=> {

SelectDish();

DispAllSelect();

});

如果方法带有参数,可以使用DelegateCommand<T>泛型声明

前台绑定控件Command属性调用

<CheckBox IsChecked="{Binding IsSelected,UpdateSourceTrigger=PropertyChanged,Mode=TwoWay}" Command="{Binding DataContext.SelCommand,RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid}}" ></CheckBox>

最后实现简单的Order系统

代码地址:

相关推荐
姚华军3 小时前
在本地(Windows环境)部署LLaMa-Factory,进行模型微调步骤!!!
windows·ai·llama·llama-factory
x***r1513 小时前
AntDM下载管理器安装步骤详解(附下载管理与断点续传教程)
windows
面对疾风叭!哈撒给4 小时前
Windows 系统安装 Mysql 8.0+
数据库·windows·mysql
IDC02_FEIYA5 小时前
Windows资源管理器未响应怎么处理?
运维·服务器·windows
一品人家5 小时前
win32汇编使用GDI+入门教程之六
汇编·windows·win32汇编
果粒蹬i6 小时前
Windows平台ReactNative鸿蒙开发环境搭建指南
windows·react native·harmonyos
水饺编程7 小时前
第4章,[标签 Win32] :文本的格式化,等待完善
c语言·c++·windows·visual studio
软件资深者7 小时前
系统引导修复(免费)系统不能启动,一键修复系统引导
windows·电脑·系统安全·windows11
love530love8 小时前
Windows 11 配置 CUDA 版 llama.cpp 并实现系统全局调用(GGUF 模型本地快速聊天)
人工智能·windows·大模型·llama·llama.cpp·gguf·cuda 加速
YCOSA20258 小时前
雨晨 Windows 11 Iot 企业版 LTSC 26H2 迎春版 26300.7705
windows