Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#46

AW: DSharp - Data bindings, MVVM und mehr für Delphi 2010 und höher

  Alt 4. Mär 2013, 16:32
Hi,

zuerst einmal, das Explorer Demo ist im Moment Baustelle - da im Moment noch an dem MVVM Part gearbeitet wird, habe ich da nicht weiter geschaut.

Zu der Checkbox und dem Edit.

Es funktioniert ähnlich wie in Caliburn.Micro:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Classes,
  DSharp.Bindings.VclControls,
  DSharp.PresentationModel.ConventionManager,
  DSharp.PresentationModel.VclConventionManager,
  DSharp.PresentationModel.ElementConvention;

implementation

uses
  DSharp.Core.Reflection;

type
  ConventionManagerHelper = record helper for ConventionManager
    class procedure Initialize; static;
  end;

{ ConventionManagerHelper }

class procedure ConventionManagerHelper.Initialize;
begin
  AddElementConvention<TEdit>('Text', 'OnChange').ApplyBinding :=
    procedure(AViewModel: TObject; APropertyName: string;
      AViewElement: TComponent; ABindingType: TBindingType;
      AConvention: TElementConvention)
    begin
      if AViewModel.HasProperty(AViewElement.Name + 'Enabled') then
        SetBinding(AViewModel, AViewElement.Name + 'Enabled', AViewElement, 'Enabled');
    end;
end;

initialization
  ConventionManager.Initialize;

end.
Das ist noch nicht ideal und wird sicherlich in der Zukunft auch noch verbessert, denn so kann man nur eine Convention pro Control Klasse festlegen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat