3 Stimmen

Umschreiben einer WPF-Anwendung auf Surface

Ich arbeite an einer WPF-Anwendung, und ich bin neugierig, was es brauchen würde, um diese Anwendung in eine Surface-Anwendung umzuschreiben, wenn wir sie eines Tages über Multitouch steuern wollen.

Ist es wahrscheinlich, dass wir große Teile unserer WPF-Anwendung wiederverwenden und problemlos auf Surface übertragen können, oder ist Surface völlig anders, und wir müssen wahrscheinlich eine völlig neue GUI für Surface schreiben? Oder kann ich tatsächlich WPF-Anwendungen auf Surface verwenden? Wie ihr vielleicht merkt, habe ich nicht wirklich eine Ahnung von Surface - also sagt mir bitte auch alles Offensichtliche!

Wir tun, was wir können, um die Anwendung mit einer guten Trennung zwischen der Ansicht und der Geschäftslogik zu modellieren - unter Verwendung des MVVM-Musters usw. Aber müssen wir eine komplett neue GUI für die Oberfläche bauen?

4voto

John Bowen Punkte 23673

Wenn Ihr Ziel darin besteht, einer normalen Desktop-Anwendung Multi-Touch hinzuzufügen, sollten Sie sich wirklich mit .NET 4.0 in Windows 7 befassen. Dabei können Sie mit Ihrer bestehenden Anwendung beginnen und einfach alle Multi-Touch-Funktionen hinzufügen, die Sie für nützlich halten.

Wenn Sie zu Surface gehen, würden die primären Änderungen, die Sie in Ihrem Code sehen, wenn eine direkte Portierung zu tun wäre alle eingebauten Eingabe-Steuerelemente auf die Surface-Versionen (dh Button zu s:SurfaceButton) ändern. Dies muss getan werden, um die Kontakteingaben von Surface zu unterstützen, die Dinge wie Button.Click auf den Standardsteuerelementen nicht aktivieren.

Es gibt noch ein paar weitere wichtige Aspekte der Surface-Anwendungen, die Sie nicht wirklich einschätzen können, wenn Sie nur den Emulator auf Ihrem Desktop verwenden. Dazu gehört nicht nur die große Anzahl gleichzeitiger Berührungen, sondern auch die multidirektionale Ausrichtung der Benutzeroberfläche. Da es sich beim Surface um einen horizontalen Bildschirm handelt, können die Benutzer die Anwendung von jeder Seite aus bedienen, und die Anwendung selbst kann auch vertikal gespiegelt werden, je nachdem, aus welcher Richtung der Benutzer die Anwendung startet. Dies kann dazu führen, dass man sich Gedanken darüber machen muss, wie die Funktionen einer Desktop-Anwendung überarbeitet werden müssen. Die Oberfläche hat außerdem eine feste Auflösung von 1024x768, was ebenfalls zu umständlichen Übergängen von dynamisch dimensionierten Desktop-Anwendungen führen kann, die für große Bildschirme entwickelt wurden.

2voto

Jobi Joy Punkte 47482

Wenn die Anwendung nur grundlegende WPF-Steuerelemente verwendet hat, ist die Änderung, die Sie für die Portierung auf Surface benötigen, im Idealfall sehr gering. Sie müssen nur alle typischen WPF-Steuerelemente durch entsprechende Surface-Steuerelemente ersetzen und entsprechende Kontakt-Ereignisse hinzufügen, wenn Sie bereits einige Mousevents im Code vorgenommen haben.

Natürlich basierend auf der speziellen MultiTouch-Erfahrung, die Sie an der Oberfläche benötigen, können die XAML-Stile und LayOut ganz anders sein, aber wenn Sie richtige MVVM folgen, müssen Sie keinen C#-Code sowie die über alle UserControl-Struktur des Projekts ändern. Stellen Sie also sicher, dass Sie die Projekte als Siehe y ViewModel damit Sie ein SurfaceView- und ein WPFView-Projekt haben können, die auf dieselbe MVVM-DLL verweisen.

1voto

Reed Copsey Punkte 536986

WPF ist im Moment die wichtigste Plattform für die Entwicklung von Oberflächen.

Der Microsoft Surface Blog hat einen großartigen Artikel über WPF-Ressourcen für die Oberflächenentwicklung .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X