In einem WPF-Fenster versuche ich den Cursor standardmäßig auf einen der Textfelder zu setzen. Nach ein paar Fragen und Antworten zu lesen, habe ich versucht, die folgenden:wpf MVVM Fokus-Cursor auf Textbox
XAML:
<StackPanel Grid.Row="1"
<StackPanel.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding UserShouldEditValueNow}" Value="true">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=FID}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>
<TextBox Name ="FID" Text="{Binding FixID, UpdateSourceTrigger=PropertyChanged}"
FocusManager.FocusedElement="{Binding RelativeSource={RelativeSource Self}}"/>
</StackPanel>
cs: (Ansichtsmodell)
this.UserShouldEditValueNow = true;
Ich erwartete einen blinkenden Cursor auf das Textfeld FID zu sehen beim Öffnen des Fensters. Allerdings gibt es in diesem Textfeld überhaupt keinen Cursor. Das Debugging hat mir gezeigt, dass ich den cs-Code durchführe und den Wert auf true setze. irgendwelche ideen warum?
Versuchen Sie [diese] (https://stackoverflow.com/a/1356781/6869276) Ansatz für eine Antwort. Fügen Sie die 'FocusExtension' Klasse, entfernen Sie den Stackpanel und gehen mit diesem: ' ' Arbeiten für mich. –
pixela
Mögliches Duplikat von [Setzen Sie den Fokus auf das Textfeld in WPF vom Ansichtsmodell (C#)] (https://stackoverflow.com/questions/1356045/set-focus-on-textbox-in-wpf-from-view-model-c) – techvice