新建wpf项目,nuget引入Prism.DryIoc,MaterialDesignThemes
引入后,修改App.xaml 前台引入 xmlns:prism="http://prismlibrary.com/"和prism:PrismApplication App.xaml.cs

App.xaml.cs继承PrismApplication,重写CreateShell和RegisterTypes
   protected override Window CreateShell()
   {
       return Container.Resolve<MainWindow>();
  
   }
   protected override void RegisterTypes(IContainerRegistry containerRegistry)
   {
   } 
MainWindowViewModel继承BindableBase,实现mvvm

上面步骤,同样可以通过新建prism 项目,自动引入引入了prism
在model中新建属性,实现属性自动通知功能
    private double _total;
    public double Total
    {
        get { return _total; }
        set
        {
            _total = value;
            RaisePropertyChanged();
        }
    } 
前台绑定
 <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系统

代码地址:










