Csharp/C#教程:WPF窗口文本框 – 编辑文本会影响不同的窗口分享


WPF窗口文本框 – 编辑文本会影响不同的窗口

我正在为我们的开发团队(VSIX解决方案)编写Visual Studio扩展。 当用户激活扩展时,他们会得到一个非常简单的WPF窗口的表单。 使用以下代码加载窗口:

var myWindow = new SomeWpfWindow(myArgs) { Owner = Application.Current.MainWindow }; myWindow.Show(); 

这将打开并显示用户填写的表单。表单中有许多TextBox,它们与DataContext进行双向绑定。 没有什么太与众不同了。

好吧,除了TextBox行为….

当我在文本框中键入字符(“blah blah blah”)时,我会在文本框中看到这些字符,并且它们也会被写入它们所绑定的DataContext属性。

然而。 当我按下后退空格或删除按钮时,TextBox中的文本保持不变,而是编辑后面的窗口(在本例中为活动代码文件)。 不理想的行为……

我通过使用.ShowDialog()而不是.Show()来修复此问题,但这是正确的修复,还是我只是埋没问题?

谢谢

VS并不真正了解你的窗口,你会遇到加速键和命令路由问题。

执行此操作的正确方法是实现模式对话框(请参阅我对您关于Microsoft.VisualStudio.PlatformUI.DialogWinodow的其他post的回复)。

或者你应该实现一个工具窗口。

此致

上面提供的解决方案解决了上述问题,但它不是完整的解决方案。 我发现,在关闭了我的WPF对话窗口后,我可以在打开的解决方案中键入C#窗口,但无法删除或返回空格以删除文本。 此外,当我尝试关闭Visual Studio时,它发出以下警告:

Microsoft Visual Studio检测到操作阻止了用户输入。 这可能是由活动模式对话框或需要阻止用户交互的任务引起的。 你想要关闭吗?

请参阅以下post以获得解决方案: Visual Studio Extension阻塞输入中的WPF模式窗口

上述就是C#学习教程:WPF窗口文本框 – 编辑文本会影响不同的窗口分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/990959.html

(0)
上一篇 2021年12月23日
下一篇 2021年12月23日

精彩推荐