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