code_junkie

Automatically focusing parts of a ListBoxItem on selection

Nov 13th, 2011
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. <Style
  2. x:Key="UnselectedVisibleStyle"
  3. TargetType="{x:Type FrameworkElement}">
  4. <Setter
  5. Property="Visibility"
  6. Value="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, Converter={StaticResource boolToVis}, ConverterParameter=False}" />
  7. </Style>
  8. <Style
  9. x:Key="SelectedVisibleStyle"
  10. TargetType="{x:Type FrameworkElement}">
  11. <Setter
  12. Property="Visibility"
  13. Value="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, Converter={StaticResource boolToVis}, ConverterParameter=True}" />
  14. </Style>
  15.  
  16. <ListBox.ItemTemplate>
  17. <DataTemplate>
  18. <Grid>
  19. <TextBlock
  20. Text="{Binding Name}"
  21. Style="{StaticResource UnselectedVisibleStyle}" />
  22. <TextBox
  23. x:Name="textBox"
  24. Text="{Binding Name}"
  25. Style="{StaticResource SelectedVisibleStyle}" />
  26. </Grid>
  27. </DataTemplate>
  28. </ListBox.ItemTemplate>
  29.  
  30. <Style x:Key="SelectedVisibleStyle" TargetType="{x:Type FrameworkElement}">
  31. <Setter Property="Visibility" Value="{Binding Path=IsSelected, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListBoxItem}}, Converter={StaticResource boolToVis}, ConverterParameter=True}"/>
  32. <Style.Triggers>
  33. <Trigger Property="Visibility" Value="Visible">
  34. <Setter Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource Self}}"/>
  35. </Trigger>
  36. </Style.Triggers>
  37. </Style>
Add Comment
Please, Sign In to add comment