2017-08-12 1 views
1

Ich verwende AutoSuggestBox in meiner App, und ich möchte die folgenden Änderungen vornehmen.UWP AutoSuggestBox Anpassen von Symbolen

  1. In der Verwendung von QueryIcon = Finden, kann ich die Suche auf der rechten Seite sehen. Kann ich es nach links ausrichten (ähnlich dem Kantensuchfenster)
  2. Kann ich die Schaltfläche "Alle löschen" anpassen? Ich möchte verschiedene Symbole zu verschiedenen Zeiten verwenden, abhängig von einigen Aktionen in der SuggestBox.

Können Sie verweisen Sie bitte auf das, was meine Optionen sind ...

dank

Antwort

1

Die einzige Sache, die Sie benötigen, ist, einen neuen Stil anzuwenden, Sie können den Standardstil von AutoSuggestBox styles and templates finden. Wenn Sie also QueryButton nach links ausrichten möchten, ändern Sie das Layout.

1

AutoSuggestBox eine versiegelte Kontrolle, so dass Sie es nicht retemplate kann es viel anpassen über Eigenschaften zur Verfügung gestellt werden. Es gibt eine Reihe von Ressourcen (siehe generic.xaml und docs), die Sie zum Beispiel außer Kraft setzen können, um die Größe des Symbols ändern:

<x:Double x:Key="AutoSuggestBoxIconFontSize">12</x:Double> 

Theoretisch kann man auch die visuelle Struktur kriecht bestimmte Elemente abrufen und modifiziere sie in Code-Behind, aber das kann chaotisch sein, Bugs einführen und einen Performance-Hit verursachen.

Sie können Satz TextBoxStyle auf AutoSuggestBox und legen Sie es auf einen benutzerdefinierten TextBox, wo Sie in der Lage sein kann, einen Teil der XAML zu manipulieren, um Ihre Bedürfnisse zu erfüllen, aber Sie würden einen neuen Voll Stil für jede Variation erstellen müssen Sie brauchen. Der Nachteil davon ist, dass Sie, weil Sie mehrere Instanzen der gesamten TextBox-Vorlage benötigen, einen Leistungseinbruch erleiden und Sie künftig keine Fehlerkorrekturen und Updates für den TextBox-Stil erhalten werden.

Sie können auch Ihre eigene AutoSuggestBox mit beliebigen benutzerdefinierten Funktionen implementieren. Dies kann eine komplexere Lösung sein, aber es könnte die am wenigsten hacky und leistungsfähigste Option sein.

würde ich nicht einige dieser Änderungen vorgenommen haben, obwohl empfehlen, da sie mit dem Rest der Plattform unvereinbar wäre und Benutzer verwirren können. In Edge ist dort ein Suchsymbol auf der linken Seite, aber die Glyphe ist nicht das gleiche wie die Suche Schaltfläche in der AutoSuggetsBox. Tatsächlich scheint Edge nicht das AutoSuggestBox-Steuerelement zu verwenden, sondern hat eine eigene benutzerdefinierte Implementierung.

+0

Nein, Sie werden keinen Leistungseinbruch erleiden, wenn Sie einfach versuchen, einen Stil für das Steuerelement zu erstellen. –

+0

Ob Sie diese Stile in App.xaml oder Page.Resources einfügen, es muss zu einem bestimmten Zeitpunkt geladen werden, was einen Leistungseinbruch zur Folge hat. Je komplexer der Stil, desto größer der Treffer. Sie möchten verschiedene Symbole zu unterschiedlichen Zeiten verwenden, was mehrere Kopien der vollständigen TextBox-Steuerelementvorlage impliziert, da Sie das Symbol oder die Position des FontIcon in der Vorlage nicht ändern können, ohne die gesamte Steuerelementvorlage zu überschreiben, verglichen mit einem relativ großen Treffer zu einem Stil, der die Steuerelementvorlage nicht außer Kraft setzt oder die Vorlage eines einfacheren Steuerelements wie einem Button nicht überschreibt. –

+0

Ich habe Apps, die mehr als hundert benutzerdefinierte Stile mit vielen SVG/Pfad-Icons und Storyboard-Animationen verwenden, und ich habe nie eine Startverzögerung wegen ihnen bemerkt. Sie können versuchen, umfangreiche Ressourcenwörterbücher in eine App zu integrieren, und sie wird genauso schnell geladen. –

Verwandte Themen