Im Folgenden finden Sie verschiedene Software-Komponenten für .Net welche auch als Open-Source-Projekte bei codeplex gehostet sind:

Generic Data Storage Component for .Net

Um was geht es?

Die Komponente advadev Data Storage ermöglicht es, Daten-Objekte in Form ihrer XML-Serialisierung einfach in einem generischen Datenspeicher zu speichern. Und das ohne eine eigene Datenzugriffsschicht implementieren zu müssen. Unterstützte Datenspeicher der Komponente sind:

  • XML-Dateien
  • Verzeichnis mit XML-Dateien
  • SQL Server Datenbanken
  • Arbeitsspeicher (nicht persistent!)

Außerdem kann ein solcher Datenspeicher mithilfe der Komponente einfach als WCF-Service veröffentlicht und verwendet werden. Eigene Datenspeicher können ohne großen Aufwand zusätzlich implementiert werden

Wofür ist diese Komponente gedacht?

Der angedachte Hauptanwendungsfall ist die Verwendung in kleinen Applikationen oder bei Prototypen. Überall dort, wo die Implementierung einer eigenen Datenzugriffsschicht zu viel Aufwand wäre und nur relativ einfache (XML-serialisierbare) Daten-Objekte verwendet werden

Wie kann ich die Komponente nutzen?

Sie müssen die Komponente als Referenz in Ihre .Net-Anwendung einbinden. Alle Klassen, deren Objekte mithilfe der Komponente gespeichert werden sollen, müssen außerdem noch das Interface IGenericObject implementieren (dieses beinhaltet lediglich eine ID-Property um die Objekte identifizieren zu können). Je nach zu verwendenden Datenspeicher müssen noch weitere Anpassungen vorgenommen werden:

  • XML File Data Storage: Sie müssen lediglich einen Dateipfad übergeben (und diese Datei muss les- und schreibbar sein)
  • XML Directory Data Storage: Sie müssen lediglich einen Pfad angeben unterhalb dessen die Dateien liegen sollen (und dieses muss les- und schreibbar sein)
  • SQL Server Data Storage: Die müssen eine passende Datenbank-Tabelle anlegen und diese in Form eines „Connection-String“ übergeben (das genaue Datenbank-Schema ist extra dokumentiert)
  • Memory Data Storage: Dieser Datenspeicher ist sofort nutzbar
  • Service Data Storage: Sie müssen einen Datenspeicher als Service veröffentlichen und die Verbindungsdaten übergeben

Wo finde ich die Komponente?

datastorage.codeplex.com

Drag-Drop Component (with touch) for WPF

Um was geht es?

Die Komponente advadev Drag Drop ermöglicht es, UI-Elemente (siehe unten „Anmerkungen“) einer WPF-Applikation um eine Drag-Drop-Funktionalität zu erweitern. Man kann mit ihrer Hilfe einzelne UI-Elemente „draggen“ (aufnehmen) und dieses dann innerhalb des User-Interfaces verschieben. Wird ein Element „gedroppt“ (losgelassen), so können beliebige vorher definierte Aktionen ausgeführt werden Verschiedene UI-Elemente können zu einer Gruppe zusammengefasst werden. Während eine „Darg-Drop“-Aktion durchgeführt wird, können die UI-Elemente der zugehörigen Gruppe folgende Zustände haben:

  • Ein Element kann das aufgenommene Element sein
  • Ein Element kann zur selben Gruppe gehören wie das aufgenommene Element
  • Ein Element kann sich unterhalb des aufgenommenen Elements befinden

Je nach Zustand kann ein UI-Element dann auch sein Aussehen verändern

Die Drag-Drop-Aktion kann entweder mithilfe der Maus oder auch per Touch-Bedienung durchgeführt werden

Wofür ist diese Komponente gedacht?

Der angedachte Hauptanwendungsfall ist die Verwendung in Applikationen, in welchen man UI-Elemente visuell auf andere verschieben möchte (und daraufhin eventuell auch Aktionen ausgeführt werden sollen). Der Unterschied zu einem „normalen“ Drag-Drop ist, dass wirklich das UI-Element selbst im User-Interface verschoben wird

Wie kann ich die Komponente nutzen?

Sie müssen die Komponente als Referenz in Ihre WPF-Anwendung einbinden. Der gesamte Bereich, in welchem sich das Drag-Drop abspielen soll, muss dann in ein DragDropContainer-Control eingebettet werden. Anschließend definieren Sie „Attached Properties“ auf alle UI-Elemente, welche an Drag-Drop-Aktionen beteiligt sind. Folgende Properties stehen dabei zur Verfügung:

  • Drag Drop Group Name: Damit wird ein UI-Element einer Gruppe zugewiesen. Diese Property muss gesetzt sein
  • Is Draggable: Muss auf true gesetzt sein, wenn es möglich sein soll dieses Element aufzunehmen
  • Is Drop Target: Muss auf true gesetzt sein, wenn es sich um ein mögliches Drop-Ziel-Element handelt
  • Is Dragged: Dieses Flag wird auf true gesetzt, wenn das UI-Element das aufgenommene ist
  • Is Drag Active: Dieses Flag wird auf true gesetzt, wenn ein UI-Element derselben Gruppe aufgenommen ist
  • Is Active Drop Target: Dieses Flag wird auf true gesetzt, wenn das aufgenommene UI-Element sich über dem UI-Element befindet
  • Source Drop Command: Dieses Command wird ausgeführt, wenn ein aufgenommenes UI-Element losgelassen wird
  • Source Drop Command Parameter: Ein optionaler Parameter für das Source Command
  • Target Drop Command: Dieses Command wird ausgeführt, wenn über einem UI-Element das aufgenommene UI-Element derselben Gruppe losgelassen wird
  • Target Drop Command Parameter: Ein optionaler Parameter für das Target Command

Wo finde ich die Komponente?

dragdrop.codeplex.com

Thomas Gysser Softwareentwicklung
| Anmelden | Impressum & Datenschutz | Copyright © 2013 Thomas Gysser |