I have a control like below xaml with Read only enabled.
<TextBox Text="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" >
Now when i double click this text box , i should be able to enter a text. Readonly property should become false
If I move to another item in the window other than this text box , then the text box should become readonly again.
I am trying to do it with Triggers. but not getting the right hint . Can anyone help me here ?
You can make this with 2 events, MouseDoubleClick and LostFocus
<Grid>
<TextBox IsReadOnly="True"
MouseDoubleClick="TextBox_MouseDoubleClick"
LostFocus="TextBox_LostFocus"/>
</Grid>
In you procedural code:
private void TextBox_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
TextBox textBox = sender as TextBox;
textBox.IsReadOnly = false;
//textBox.CaretIndex = textBox.Text.Count();
textBox.SelectAll();
}
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
TextBox textBox = sender as TextBox;
textBox.IsReadOnly = true;
}