KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'm trying to get a DataGridTemplateColumn to behave identically to a TextColumn when the cell goes into edit mode (Press F2), the user can immediately start typing in the new value by default, existing text content is selected - so that you can set new values easily Got the first one done ; however selecting all the text isn't working. As mentioned by a number of posts, tried hooking into the GotFocus event and selecting all the text in code-behind. This worked for a standalone textbox ; however for a Textbox which is the edit control for a TemplateColumn, this doesn't work. Any ideas? Code Sample: <Window.Resources> <Style x:Key="HighlightTextBoxStyle" TargetType="{x:Type TextBox}"> <EventSetter Event="GotFocus" Handler="SelectAllText"/> <EventSetter Event="GotMouseCapture" Handler="SelectAllText"/> <Setter Property="Background" Value="AliceBlue"/> </Style> <DataTemplate x:Key="DefaultTitleTemplate"> <TextBlock Text="{Binding Title}"/> </DataTemplate> <DataTemplate x:Key="EditTitleTemplate"> <TextBox x:Name="Fox" FocusManager.FocusedElement="{Binding RelativeSource={RelativeSource Self}}" Text="{Binding Path=Title, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource HighlightTextBoxStyle}"> </TextBox> </DataTemplate> </Window.Resources> <DockPanel> <TextBox DockPanel.Dock="Top" x:Name="Test" Text="{Binding Path=(FocusManager.FocusedElement).Name, ElementName=MyWindow}" Style="{StaticResource HighlightTextBoxStyle}"/> <toolkit:DataGrid ItemsSource="{Binding Items}" AutoGe
Tags (comma-separated)
Save Edits
Cancel