Ich habe etwas Kontrolle in einem Stackpanel.
Wenn ich mit der rechten Maustaste auf das Panel klicke, bekomme ich ein Kontextmenü und kann den Text dieser Steuerelemente bearbeiten.
Hier habe ich TextBlock verwendet, um die Daten und TextBox zum Bearbeiten der Daten anzuzeigen (Wenn TextBox sichtbar ist TextBlock wird minimiert und umgekehrt)
Ich möchte den gesamten Text der TextBox auswählen und fokussieren, wenn die TextBox sichtbar ist.Wie wähle ich text einer texbox in wpf MVVM
Ich versuchte mit Interaktion. Aber hat nicht funktioniert :(
Gibt es eine Möglichkeit, dies zu tun
Zum Beispiel: Wenn der TextBox sichtbar ist, kann ich einen Befehl in meinem Viewmodel Feuer und wählen Sie den gesamten Text aus meinem Viewmodel
<TextBlock Text="{Binding MachineResponseText}" Visibility="{Binding IsEditing, Converter={StaticResource BoolToVisibilityConverter}, ConverterParameter=true}"/>
<TextBox x:Name="MachineResponseTextBox" Text="{Binding MachineResponseText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Visibility="{Binding IsEditing, Converter={StaticResource BoolToVisibilityConverter}}">
<TextBox.Style>
<Style TargetType="TextBox">
<Style.Triggers>
<Trigger Property="IsVisible" Value="True">
<!--Is there any way to select all the text when this textbox is visible?-->
</Trigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
.
Was Sie wollen, ist es, "Highlight" der gesamte Text in einem 'TextBox', so dass Ihre' VM' sollte raushalten. Das klingt für mich wie ein Code hinter der Lösung, da die 'VM' nicht wirklich interessiert, ob der Text ausgewählt ist oder nicht. Wenn ich dich nicht missverstanden habe? – XAMlMAX
Ja, das stimmt. Ich muss VM nicht verwenden. Aber wie kann ich den Text hervorheben und die Tastatur auf das Textfeld fokussieren? –
Die 'TextBox' hat eine' SelectedText' Eigenschaft, die Sie auf 'gotFocus'' event' setzen können. Aber wenn das nur zwischen dem Editiermodus wechselt, warum manipuliere ich die 'IsEnabled' Eigenschaft auf' TextBox' nicht? – XAMlMAX