sha*_*eed 6 wpf textbox wpf-controls wpf-4.0
我有一个像xaml一样的控件,只读启用.
          <TextBox  Text="{Binding Name,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"  Background="Transparent" IsReadOnly="True" BorderThickness="0" TextWrapping="Wrap" >   
现在,当我双击此文本框时,我应该能够输入文本.Readonly属性应该变为false
如果我移动到窗口中除此文本框之外的其他项目,则文本框应再次变为只读.
我试图用触发器来做.但没有得到正确的提示.有人能帮我一下吗 ?
您可以通过两个事件来实现这一点:MouseDoubleClick 和 LostFocus
<Grid>
    <TextBox IsReadOnly="True"
             MouseDoubleClick="TextBox_MouseDoubleClick"
             LostFocus="TextBox_LostFocus"/>
</Grid>
在你的程序代码中:
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;
}
| 归档时间: | 
 | 
| 查看次数: | 3301 次 | 
| 最近记录: |