Ich habe einen TextBox
Stil, der eine Zahl formatiert, wenn die Box nicht fokussiert ist, aber die Zahl unformatiert bleibt, während sie bearbeitet wird.
Dies ist der Stil, den ich für TextBoxen mit mehreren Zahlen haben möchte, aber sie enthalten alle unterschiedliche Textbindungen. Der einzige Unterschied zwischen dem regulären Textsetter und dem Triggered Text-Setzer besteht darin, dass der ausgelöste eine StringFormat=N2
in der Bindung hat.
Gibt es eine Möglichkeit, wie ich diesen Stil generisch machen kann, zum Beispiel nur die Eigenschaft StringFormat
der Bindung im DataTrigger zu ändern?
Die einzige Option, die ich dort sehe, wäre, eine angefügte Eigenschaft für das StringFormat zu erstellen und eine multiBinding zu verwenden.
Nicht ganz, was Sie wollten, aber nahe genug, denke ich ...
Sie haben weitere Informationen zu dieser (Art von Duplikat) Frage zu S.O.:
Ändern der Parameter der Textbindung einer TextBox mithilfe eines Styles
Gibt es einen Weg, wie ich diesen Stil generisch machen kann, zum Beispiel nur ändern die StringFormat-Eigenschaft der Bindung im DataTrigger?
Übernehmen Style
und neues XAML würde dies werden:
Hier ist die Klasse ...
%Vor%Beachten Sie, dass mein Test
warSomeValue
INPC-Eigenschaft Mein Versuch, dies zu lösen, endete mit einem benutzerdefinierten Steuerelement plus einer Mehrfachbindung, die beide oben vorgeschlagen wurden.
So konnte ich Markup wie folgt verwenden:
& lt; CustomTextBox Wert="{Binding Value"} Format="N2" / & gt;
Ich habe versucht, meinen Code zu posten, aber ich bekomme immer einen Fehler über "Code, der nicht richtig als Code formatiert ist".
Ich frage mich, ob Sie vielleicht eine angefügte Eigenschaft in den Bearbeitungen haben könnten, um den formatierten Wert zu halten (nur gebunden an den echten Edit-Wert mit einem angewandten Stringformat), dann könnten Sie den Editierwert setzen zu dieser Eigenschaft.
Dies würde jedoch zu einer kreisförmigen Bindung führen, wenn die Bearbeitung keinen Fokus hat, weiß nicht, wie WPF in solchen Situationen reagiert.
Tags und Links wpf styles data-binding xaml