Laden...

ContentControl EditMode Fokus setzen

Letzter Beitrag vor 25 Tagen 3 Posts 311 Views
ContentControl EditMode Fokus setzen

Hallo Community,

ich versuche gerade eine Art InlineEditor zu bauen. In einem Template für ein ListBoxItem habe ich ein ContentControl das per Trigger zwischen einem TextBlock und einer TextBox für eine string Property wechselt:

<ContentControl x:Name="nameContent" Style="{StaticResource DefaultContentControlStyle}" DataContext="{Binding RelativeSource={RelativeSource Mode=Self}, Path=DataContext}" Grid.Column="3" Template="{StaticResource ShowNameTemplate}">
    <xamlBehaviours:Interaction.Triggers>
        <xamlBehaviours:EventTrigger EventName="MouseDown" SourceObject="{Binding ElementName=nameContent}">
            <xamlBehaviours:ChangePropertyAction TargetObject="{Binding ElementName=nameContent}" PropertyName="Template" Value="{StaticResource EditNameTemplate}"/>
        </xamlBehaviours:EventTrigger>
        <xamlBehaviours:DataTrigger Value="False" Comparison="Equal" Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}, Path=IsSelected}">
            <xamlBehaviours:ChangePropertyAction TargetObject="{Binding ElementName=nameContent}" PropertyName="Template" Value="{StaticResource ShowNameTemplate}" />
        </xamlBehaviours:DataTrigger>
    </xamlBehaviours:Interaction.Triggers>
</ContentControl>

Das funktioniert soweit auch gut. Was noch nicht funktioniert ist das Setzen des Fokus wenn die TextBox aktiviert wird.  Durch das MouseDownwird ja ein Fokus gesetzt, scheinbar kann ich nicht gleichzeitig wenn die TextBox geladen wird den Fokus erneut setzen, dass hatte ich mit einem weiteren Trigger versucht:

  • wenn TextBox.Loaded
  • wenn TextBox.IsVisible

dann den Fokus zu setzen durch:

  • FocusManager.FocusElement der TextBox
  • TextBox.Focuscall.

Vielleicht hat ja jemand noch eine Idee.

Grüße

Mit freundlichen Grüßen
lutzeslife

Super danke, auf die Idee bin ich gar nicht gekommen 🤦‍♂️, das funktioniert prima.

Mit freundlichen Grüßen
lutzeslife