The Architect
aka "DotNetMastermind"

Wissenswertes zur Entwicklung hochwertiger grafischer Oberflächen (Rich User Interfaces) in WPF, Silverlight (dotNet, .NET) und Silverlight for Windows Phone 7 (WP7)

WPF Login User Control mit “Windows 8 Look and Feel”

Auf CodeProject habe ich am heutigen Tage einen Artikel veröffentlicht, welcher die Implementierung eines sehr nützlichen WPF Benutzersteuerelementes detailliert beschreibt. Dieses WPF Benutzersteuerelement (WPF User Control) kann sehr einfach als Log-in-Overlay für eigene WPF-Anwendungen (ab. NET 3.5) verwendet werden. Es ähnelt dem Log-in Screen von Windows 8 und verhält sich auch nahezu identisch wie dieser.

Hier sind einige Screenshots des Benutzersteuerelementes :

Der vollständige Artikel ist verfügbar unter : http://www.codeproject.com/Articles/498253/Smart-WPF-Login-Overlay-Windows-8-Style (nur in Englisch)

Der Quellcode sowie eine Demo können unter dem angegebenen Link auch heruntergeladen werden. In der Demo ist ein Beispiel enthalten, wie das Benutzersteuerelement für eine "deutsche" Anwendung angepasst werden kann (siehe auch die obigen Screenshots).

EDIT : Bei dem UserControl mit den deutschen Texten muss folgende Eigenschaft noch gesetzt werden : FullSpan="On" (hatte ich versäumt … sorry). Und nicht wundern, dass das UserControl im WPF bzw. Blend - Designer transparent ist : Dies habe ich bewusst so implementiert, um zu zeigen, dass die Hintergrundfarbe des Root Fensters automatisch adaptiert wird, wenn auf dem UserControl keine Hintergrundfarbe gesetzt wurde.




kick it on dotnet-kicks.de

kick it on DotNetKicks.com

Kommentare

dotnet-kicks.de sagte:

Sie wurden gekickt (eine gute Sache) - Trackback von dotnet-kicks.de

# November 23, 2012 11:09

DotNetKicks.com sagte:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# November 23, 2012 11:10

Daniel sagte:

Hallo,

ich habe mir mal den Quellcode des Projektes näher angesehen und fand die Implementierung des INotifyPropertyChanged Interfaces in dem ViewModelBase des Overlay sehr interessant! Wenn ich das richtig verstehe wird doch über den Lambdaausdruck der Propertyname ausgewertet. Wenn ich den Property mitgebe spare ich dann hier das private field?

Sonst hat man ja das eher so gemacht:

private bool _isSubmit;

public bool IsSubmit

{

get{return _isSubmit;}

set

{

_isSubmit=value;

RaisPropertyChanged("IsSubmit");

}

Oder sehe ich das falsch?

MfG Daniel

# Februar 6, 2013 8:57

TheArchitect sagte:

Hallo Daniel,

zunächst einmal möchte ich mich für die verspätete Antwort entschuldigen, jedoch hatte ich die Kommentarbenachrichtigungsfunktion aufgrund des hohen SPAM-Aufkommens abgeschaltet.

Ja, du hast vollkommen Recht : Das private Feld ist nicht mehr nötig.

Darüberhinaus hast du aber auch noch weitere Vorteile, welche ich in diesem Artikel zusammengefasst habe : dotnet-forum.de/.../die-optimale-implementierung-des-inotifypropertychanged-interfaces.aspx

Viele Grüße

The Architect

# Oktober 19, 2013 2:12
Kommentar abgeben

(verpflichtend) 

(verpflichtend) 

(optional)

(verpflichtend)