Technology sharing

WPF Prisma Framework composita mandata composita mandata

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Propositum

Compositum mandatum felis multa praecepta cum eo descripserunt, et multa mandata uno tempore exequi possunt. Negotium postulata ut salvis omnibus effici potest.

efficere

1. ICompositeCommands crea interface et Composita exsequenda classis

Involve obiectum Composito-Mandi provisum in Prismate in IComposite Mandatorum interface et ApplicationCommandorum exsecutionem classis

 public interface IApplicationCommands
    {
        CompositeCommand SaveCommand { get; }
    }

    public class ApplicationCommands : IApplicationCommands
    {
        private CompositeCommand _saveCommand = new CompositeCommand();
        public CompositeCommand SaveCommand
        {
            get { return _saveCommand; }
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2. Register mandatis compositis in IOC
Praestare IOC adnotatione in App.xaml background code

 protected override void RegisterTypes(IContainerRegistry containerRegistry)
{
   containerRegistry.RegisterSingleton<IApplicationCommands, ApplicationCommands>();
}
  • 1
  • 2
  • 3
  • 4

3. definition compositis imperium in ViewModel
Compositum imperium in ViewModel definire et mandatum ligare ad visum tabulatum
ViewModel:

  private IApplicationCommands _applicationCommands;
        public IApplicationCommands ApplicationCommands
        {
            get { return _applicationCommands; }
            set { SetProperty(ref _applicationCommands, value); }
        }

        public MainWindowViewModel(IApplicationCommands applicationCommands)
        {
            ApplicationCommands = applicationCommands;
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Visum:

 <Button Content="Save" Margin="10" Command="{Binding ApplicationCommands.SaveCommand}"/>
  • 1

4. Mandatum compositum cum mandatis in pluribus aliis locis subcriptio.

 public TabViewModel(IApplicationCommands applicationCommands)
  {
    _applicationCommands = applicationCommands;

    UpdateCommand = new DelegateCommand(Update).ObservesCanExecute(() => CanUpdate);

    _applicationCommands.SaveCommand.RegisterCommand(UpdateCommand);
}
 
private void Update()
{
  UpdateText = $"Updated: {DateTime.Now}";
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

Hoc modo, cum mandatum compositum ApplicationCommands.SaveCommand utitur, omnia praecepta descripserunt Urguet.