在 wpf 中启用禁用的文本框

3 wpf event-handling mouseevent wpf-controls

是否有可能默认禁用 TextBox,但在用户双击它时启用它?

Dor*_*hen 7

您可以像这样将 TextBox 放在 StackPanel 中:

   <StackPanel MouseLeftButtonDown="StackPanel_MouseDown">
       <TextBox Name="textBox1"/>
   </StackPanel>
Run Code Online (Sandbox Code Playgroud)

然后在 StackPanel 事件处理程序中:

    private void StackPanel_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ClickCount >= 2)
        { 
            textBox1.IsEnabled = true; //only hit here on DoubleClick  
        }
    }
Run Code Online (Sandbox Code Playgroud)

您还可以按照此问题的描述模拟 StackPanel DoubleClick:

带有 Click 和 DoubleClick 的 WPF StackPanel