2017-12-30 24 views
0

Ich erstelle eine UWP-App mit XAML und C#. Jedes ListViewItem in der ListView enthält eine TextBox. Wenn ich auf ein ListViewItem klicke/wähle, würde ich den Fokus auf die TextBox innerhalb dieses ListViewItems setzen.Wie legen Sie den Fokus auf eine TextBox fest, wenn auf ListViewItem geklickt wird?

<ListView ItemsSource="{Binding Items, Mode=OneWay}"> 
    <ListView.ItemTemplate> 
    <DataTemplate> 
     <Grid> 
     ... 
     <TextBox Grid.Row="0" Grid.RowSpan="2" Grid.Column="1" Text="{Binding Value, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"> 
      <i:Interaction.Behaviors> 
      ... 
      </i:Interaction.Behaviors> 
     </TextBox> 
     </Grid> 
    </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

Was ist der beste Weg, dies in einem MVVM-Stil zu implementieren?

Antwort

0

Das klingt wie ein reines View-Problem, und sollte daher rein in der Ansicht gelöst werden. Es könnte jedoch ein Code erforderlich sein. Auch eine Frage: Wie wahrscheinlich ist es, dass Sie das ListView-Objekt nie selbst auswählen müssen? Wenn es nicht 100% wahrscheinlich ist, überlegen Sie sich, wie Sie es immer noch direkt auswählen können (wie Doppelklick).

Diese Antwort scheint ähnlich genug: https://stackoverflow.com/a/40054140/3346583 (Event-Handler und itterating über Elemente) https://social.msdn.microsoft.com/Forums/en-US/1d52e0db-eef6-4022-9d27-ef456ad795a9/uwp-i-cant-set-focus-on-a-text-box-in-listviewitem?forum=wpdevelop (mit dem Dispatcher) ich für "UWP Listview Fokus Child" gesucht. Aber die Suche nach WPF-Lösungen führt wahrscheinlich genauso zu Ergebnissen.

Verwandte Themen