Benutzer mit den meisten Antworten
Kein TreeView-Control für Universal App?

Frage
Antworten
-
Hallo Klaus,
nein, standardmäßig gibt es kein TreeView mehr. Das musst du dir entweder selbst schreiben oder aber ein Thirdpartycontrol einsetzen (kenne aber auch keines).
Bedenke dabei aber dass es extrem schwer ist TreeViews auf kleinen Touchscreens zu bedienen. Besser wäre einen Seitennavigation oder so dass beim öffnen eines Unterpunktes eine weitere Spalte mit dem Inhalt hinzufügt (vgl. Finder auf MacOS). Beides lässt sich vermutlich besser bedienen.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Klaus Ruttkowski Mittwoch, 23. Dezember 2015 13:31
-
Hallo Klaus,
über die Windows Klassen (für die Windows 10 App) ist es möglich die Kontaktdaten zu ändern.
Ich weiß leider nicht, welches vorgehen du benutzt und wie du die APIs verwendest, aber laut Dokumentation ist dies möglich.
Ein Mögliches Vorgehen um die Kontakte zu erhalten, wäre dir den "ContactStore" mittels ContactManager.RequestStoreAsync(ContactStoreAccessType) zu holen, wobei der ContactStoreAccessType "AllContactsReadWrite" sein muss, damit du auch schreiben kannst!
Anschließend kannst du mit dem ContactStore die Einträge durchsuchen oder neue erstellen. Zum erstellen eines neuen Eintrags solltest du am besten CreateContactListAsync(string displayName) verwenden.
Als Rückgabewert bekomst du dann eine ContactList. Diese kann nach dem bearbeiten der Einträge durch SaveAsync() gespeichert werden.
PS: Um der Liste einen Kontakt einzufügen, musst du SaveContactAsync(SaveContactAsync(Contact contact) benutzen. Eine Instanz von "Contact" kannst du einfach über den Konstruktor erzeugen.
Zugegeben, das System dahinter ist doch recht umfangreich von Microsoft erstellt worden. Ich hoffe diese Tipps können dir helfen.
© 2015 Thomas Roskop
Germany // Deutschland- Als Antwort vorgeschlagen Thomas Roskop Montag, 4. Januar 2016 12:03
- Als Antwort markiert Klaus Ruttkowski Montag, 4. Januar 2016 12:58
Alle Antworten
-
Hallo Klaus,
nein, standardmäßig gibt es kein TreeView mehr. Das musst du dir entweder selbst schreiben oder aber ein Thirdpartycontrol einsetzen (kenne aber auch keines).
Bedenke dabei aber dass es extrem schwer ist TreeViews auf kleinen Touchscreens zu bedienen. Besser wäre einen Seitennavigation oder so dass beim öffnen eines Unterpunktes eine weitere Spalte mit dem Inhalt hinzufügt (vgl. Finder auf MacOS). Beides lässt sich vermutlich besser bedienen.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Klaus Ruttkowski Mittwoch, 23. Dezember 2015 13:31
-
Hallo Tom,
ich finde mit der Einführung von Universal App hat Microsoft mir zumindest keinen Gefallen getan. Die Einschränkungen un Umstellungen missfallen mir immer mehr. Ich bedaure schon, dass ich mich seit Wochen darauf eingelassen habe. Ich will eigentlich nur Programme für den Desktop entwickeln, dabei aber die neue Oberfläche nutzen.
Gruß und "Ein Frohes Fest"
Klaus
- Als Antwort markiert Klaus Ruttkowski Mittwoch, 23. Dezember 2015 13:31
- Tag als Antwort aufgehoben Klaus Ruttkowski Mittwoch, 23. Dezember 2015 13:31
-
Hallo Klaus,
dass ist das Problem dahinter. Universal Apps sind, wie der Name schon sagt für alle Plattformen.
Perfekt ist es noch lange nicht. Ich denke das Microsoft noch ein paar Jahre brauchen wird um diese Plattform zu etablieren. Wenn es dann aber soweit ist werden wir sicher einige Vorteile davon haben.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hallo ihr beiden.
Mit den Windows Universal Apps wurde mit gewollter Absicht eine neue Designsprache eingeführt.
Es ermöglicht einfach Apps für alle Windows-Plattformen (Windows IoT, Windows 10, Windows 10 Mobile und dem Microsoft Band) zu entwicklen und veröffentlichen. Klar ist dabei, dass viele Eigenschaften nicht von der Desktopumgebung übernommen werden konnten. Auf dem Desktop arbeitet man faktisch immer mit einer Maus - auf Smartphones dagegen wäre das unüblich. Und eine Smartwatch mit Maus, ein schöner Witz.
Und auch das unterliegende System, also z.B. die neue Art mit dem Dateisystem zu arbeiten hat seinen Sinn. So kann der Benutzer kann beruhigt Apps installieren und weiß seinen Datenschutz doch trotzdem in (relativer) Sicherheit.
Deshalb halte ich diesen Schritt für gut gelungen.
PS: Businessanwendungen wie Datenbankserver oder komplexe Finanzprogramme werden auch in Zukunft an den Desktop gebunden sein - einfach weil es keinen Sinn macht, das als Smartphone-App zu entwickeln.
Und auch Entwicklerprogramme - eben wie Visual Studio - werden wahrscheinlich und hoffentlich nie als App umgesetzt.
Die Universal Apps sind vor allem für Spiele, Nachrichten, Social Media usw. da - also für Produkte für den "gewöhnlichen" Endkunden.
Frohes Fest noch!
© 2015 Thomas Roskop
Germany // Deutschland -
Hallo Thomas,
danke für die Weihnachstswünsche und die Antwort.
Ja ich verstehe das schon. Aber...
In meinem speziellen Fall will ich ein Programm erstellen mit dem ich die Windows Kontaktdaten bearbeiten/pflegen kann. Ich stelle mir vor dies auf dem Desktop zu machen und dann, je nach Bedürfnis, in ganz unterschiedliche Formate zu exportieren oder auch zu drucken. Auch die Daten möchte ich, zumindest als XML-Datei, mit eigenen Anforderungen erweitern können. Ich habe nichts dagegen das Programm über Windows-Store zu installieren. Auch die Verwendung von Microsoft-Frameworks zur eigentlichen Bearbeitung der Datenbanken zu benutzen macht mir eigentlich keine Probleme, wenn... Ja wenn ich die Kontaktdaten z.B. auch schreiben könnte und nicht wie ich mittlerweile feststelle nur lesen kann. Ich könnte mir schon vorstellen dass man zwar Apps auf der neuen Basis entwickelt aber je nach Ausführungsort manche Funktionen eben nicht zur Verfügung hat. Aber in einer Desktop-Anwendung komme ich ja noch nicht einmal lesend an die Kontakte. (Oder doch?)
Einen Guten Neues Jahr
-
Hi Klaus,
willst Du nun nur eine Windows Deskttop Anwendung oder eine universelle Anwendung, die auf unterschiedlichen Geräten laufen soll?Wenn Du nur eine Desktop Anwendung erstellen willst, dann nutze die entsprechende Vorlage und da hast Du auch ein TreeView Steuerelement. Dieses kannst Du an ein hierarchisch strukturiertes Objekt binden. Wenn Du dann einen Knoten auswählst, kannst Du eine Detailansicht des betreffenden Datenobjektes zur Anzeige bringen, die Daten ändern und wieder in die Datenbank zurück schreiben.
Da hier einige unterschiedliche Technologien zur Anwendung kommen können, solltest Du mal genauer schreiben, bei welchem Thema Du konkrete Probleme hast.
Ein XML-Datei lesen, serialisieren, die serialisierte Objektstruktur ändern und das dann wieder deserialiseren und als Stream speichern, sollte kein Problem sein. Hast Du damit Schwierigkeiten? Wenn ja, welche?
--
Viele Grüsse
Peter Fleischer (MVP, Partner)
Meine Homepage mit Tipps und Tricks
Kommas richtig setzen!
Schüler sagen, Lehrer haben es gut.
Schüler, sagen Lehrer, haben es gut -
Ein Gutes Neues Jahr!
Ja, was will ich eigentlich?
Ich möchte meine gesamten Anschriften zentral und einfach pflegen.
und zwar für Windows10-Kontakte, Outlook-Kontakte, Google-Kontakte, Android-Smartphone und Fritzbox.Hierzu habe ich mir die Datenstruktur von Window10-Kontakten als Grundlage gewählt, ergänzt durch eigene Datenfelder wie z.B. Gruppen-Information, gespeichert in einer XML-Datei.
Als Weg habe ich, um die von Microsoft wohl angestrebte Plattform zu benutzen, eine Universal-Anwendung erstellt. Vorteile hier, einfachen Zugriff auf die Windows10-Kontakte.
Die Anwendung sollte bei mir nur auf dem PC laufen. Die Anwendung auch auf einem Smartphone zu benutzen war mir ein schöner Nebeneffekt den andere eventuell dann nutzen könnten.Die Pflege soll einfach sein und die vielen Datenfelder sollen gut strukturiert und übersichtlich darstellbar bleiben. Wegen der kompakten Darstellung der XML-Daten wollte ich zur Darstellung und Pflege ein TreeView nutzen.
Die Probleme:
1. Für Universal-Apps gibt es kein TreeView.
2. Leider stelle ich erst jetzt fest, das Schreiben von Windows10-Kontakten ist mir verweigert.3. Beim Versuch statt einer Universal-App, ein normales Desktop-Programm zu erstellen finde ich keinen Weg auf die Windows10-Kontakte zuzugreifen.
Welchen Weg soll ich nun endgültig einschlagen? Gibt es überhaupt einen Weg?
Gruß Klaus
-
Hallo Klaus,
über die Windows Klassen (für die Windows 10 App) ist es möglich die Kontaktdaten zu ändern.
Ich weiß leider nicht, welches vorgehen du benutzt und wie du die APIs verwendest, aber laut Dokumentation ist dies möglich.
Ein Mögliches Vorgehen um die Kontakte zu erhalten, wäre dir den "ContactStore" mittels ContactManager.RequestStoreAsync(ContactStoreAccessType) zu holen, wobei der ContactStoreAccessType "AllContactsReadWrite" sein muss, damit du auch schreiben kannst!
Anschließend kannst du mit dem ContactStore die Einträge durchsuchen oder neue erstellen. Zum erstellen eines neuen Eintrags solltest du am besten CreateContactListAsync(string displayName) verwenden.
Als Rückgabewert bekomst du dann eine ContactList. Diese kann nach dem bearbeiten der Einträge durch SaveAsync() gespeichert werden.
PS: Um der Liste einen Kontakt einzufügen, musst du SaveContactAsync(SaveContactAsync(Contact contact) benutzen. Eine Instanz von "Contact" kannst du einfach über den Konstruktor erzeugen.
Zugegeben, das System dahinter ist doch recht umfangreich von Microsoft erstellt worden. Ich hoffe diese Tipps können dir helfen.
© 2015 Thomas Roskop
Germany // Deutschland- Als Antwort vorgeschlagen Thomas Roskop Montag, 4. Januar 2016 12:03
- Als Antwort markiert Klaus Ruttkowski Montag, 4. Januar 2016 12:58
-
Hallo Thomas,
danke für deinen Hinweis. Daraufhin habe ich mir Windows-universal-samples-master.zip neu geladen. Hier findet sich nun auch neu ein Beispiel: ContactCardIntegration in dem das von dir beschriebene Vorgehen enthalten ist. Dies hatte ich bisher nicht gefunden. Das mit dem TreeView ist ja nicht so sehr ausschlaggebend und ich kann es mir wohl, wie Tom geschrieben hat, notfalls auch selber erstellen.
Gruß Klaus
-
Ich bin froh, dass dir mein Antwort geholfen hat.
Ich habe selber noch nicht mit den Klassen dahinter gearbeitet, sondern nur die Dokumentation nochmals zerpflügt.
Markiere doch auch bitte meine Rückmeldung als "Antwort" :D
© 2015 Thomas Roskop
Germany // Deutschland