Laden...

WPF Custom Formation im Textblock

Erstellt von littlerocky vor einem Jahr Letzter Beitrag vor einem Jahr 471 Views
L
littlerocky Themenstarter:in
14 Beiträge seit 2016
vor einem Jahr
WPF Custom Formation im Textblock

Hallo!

Ich verzweifel hier gerade seit ein paar Tagen. Irgendwie verstehe ich das mit dem {Binding ... } nicht so richtig.
Mein Textblock muss im Format ###.### angezeigt werden. Der Punkt darf im String jedoch nicht als Wert stehen, da die # nur Zahlen sind. Maximal hat es nur 6 Ziffern im String.

Aktuell habe ich das hier stehen:


<TextBlock x:Name="txtNewFrequence" Grid.Column="1" Text="{Binding StringFormat={}{0:###.###}}" FontSize="28" Height="50" Width="306" Margin="0,0,0,0" TextAlignment="Center" HorizontalAlignment="Left"  VerticalAlignment="Center" />

Den Text des Textblocks fülle in ganz normal mit


<Button x:Name="btnOne" Height="100" Width="100" Content="1"  FontSize="28" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="1" Click="btnOne_Click" />


        private void btnOne_Click(object sender, RoutedEventArgs e)
        {
                txtNewFrequence.Text += btnOne.Content;
        }

In Summe gibt es ein PinPad mit insgesamt 10 Buttons 0-9.

Kann mir einer von euch auf die Sprünge helfen? Ich versteh das nicht mehr 😦

Danke und einen angenehmen Sonntag noch 🙂

lg
littlerocky

16.830 Beiträge seit 2008
vor einem Jahr

Irgendwie verstehe ich das mit dem {Binding ... } nicht so richtig.

Du wirst es lernen müssen, weil WPF für die Verwendung von Bindings und MVVM konzipiert ist.
Wenn Du das nicht anwendest, wirst Du von Workaround zu Workaround stoplern und vermutlich mehr mit Fixes beschäftigt sein, als mit Software Entwicklung.
[Artikel] MVVM und DataBinding
Das gilt auch für Buttons, wo Events über Command(Handler) umgesetzt werden, und nicht wie in WinForms mit Click-Events.

Kann mir einer von euch auf die Sprünge helfen? Ich versteh das nicht mehr 😦

Was ist denn Deine Frage? Was ist denn Dein Problem, an dem Du hägst? Was geht nicht?

Ich kanns mir nur grob denken:
Du verwendest keine Bindung und mit dem x:Name-Zuweisungsmurks überschreibst Du eben das Format, sodass kein ###.### dargestellt wird.

Lösung: verwende MVVM. Du wirst da nicht drum rum kommen. Du brauchst das ViewModel.
Du hast de facto keine Chance WPF zu programmieren, wenn Du MVVM nicht anwendest.
Ja, leider eine hohe Einstiegshürde, weswegen MVVM nicht so beliebt ist - aber bei WPF halt quasi eine Voraussetzung.

Gibt dutzende Videos, Tutorials, Learn Material. Bin sicher, dass Du was für Dich findest, zB
Patterns - WPF Apps With The Model-View-ViewModel Design Pattern

L
littlerocky Themenstarter:in
14 Beiträge seit 2016
vor einem Jahr

Dank Abt, dann werde ich mich damit nun mehr beschäftigen 🙂