jjzjj

c# - 如何阻止 WPF KeyDown 事件从某些包含的控件(例如 TextBox)中冒出?

我的程序非常大,并且使用WPF,我想要一个使用“R”且没有修饰符的全局快捷键。有许多控件,如TextBox、ListBox、ComboBox等,它们都在控件本身内部使用字母,这很好-这对我来说是正确的。但是-我想阻止KeyDown事件冒泡到主窗口,例如,只要用户在文本框中键入字母“R”,它就会触发快捷方式。理想情况下,我希望能够做到这一点而不必指定(并执行if-then逻辑)每个可能接收正常字母按键的控件实例/类型(不仅仅是TextBox控件,尽管它们是最糟糕的违规者). 最佳答案 只需检查Window上的KeyDown事件处理程序

c# - 我如何优先考虑 WPF 文本框自动换行?

在很多情况下,我的面板或网格会自动调整大小,但如果它们包含带有TextWrapping="Wrap"的TextBox,则TextBox在真正需要之前很久就继续向右扩展面板/网格,如下图:我想要做的是让TextBox在尝试向右扩展之前通过换行文本来填充其区域。该问题的一个简化示例是:我在StackOverflowhere上发现了类似的问题,但发布的最佳解决方案不允许TextBox展开。该解决方案类似于:除了用修改后的行为扩展TextBox之外还有什么想法吗? 最佳答案 有一个简单的技巧可以使其正常工作。使用Canvas,然后将文本框的

c# - 如何在wpf中实现带有清除按钮的文本框?

我有以下UserControl。这是一个带有Button的TextBox:在Windows7中看起来不错,但在WindowsXP中我遇到以下问题:关于如何解决这个问题有什么想法吗?如果我将背景设置为透明,那么按钮就没有问题,但文本位于按钮下方并且看起来很奇怪。 最佳答案 缩小Button和/或添加小边距以“缩小”可见背景。编辑:环顾四周(想知道这还没有作为一些新功能添加)我发现了thisarticlewithstep-by-stepinstructionsyoucouldgiveatry.

c# - 什么在调用?

什么是方法调用,control.invoke?编程中一般调用是什么例子:MethodInvokergetValues=newMethodInvoker(delegate(){checkbox1Checked=checkbox1.Checked;textBox6Text=textBox6.Text;textBox7Text=textBox7.Text;textBox3Text=textBox3.Text;textBox1Text=textBox1.Text;textBox4Text=textBox4.Text;richTextBox1Text=richTextBox1.Text;text

c# - 检测文本框中的某些文本已被选中

我已经用C#实现了一个记事本应用程序,所有功能都完美运行,只有一件事我不能完全实现。编辑下拉菜单中有一些菜单项,但它们的启用属性必须根据文本框的情况,我遇到了两种情况的问题,我正在寻找一个事件以在此事件的事件处理程序中更改其启用的属性,这是问题所在:2)当在文本框中选择了一些文本时,应该启用删除、复制和粘贴选项。我应该如何检测它?我已经测试了texchanged事件,我已经编写了如下代码的条件,但它没有'工作,只是剪贴板工作正常:privatevoidtextBox1_TextChanged(objectsender,EventArgse){if(textBox1.SelectionL

c# - 将击键发送到其他控件

对你们来说很简单。我在列表框的顶部有一个文本框。文本框用于过滤列表框中的数据。所以...当用户在文本框中键入内容时,我想“捕获”向下/向上/向下翻页/向上翻页击键并将它们转发到列表框。我知道我可以使用Win32API并发送WM_KeyDown消息。但必须有一些.NET方法来执行此操作。 最佳答案 SendKeys.Send()方法。privatevoidtextBox1_KeyPress(objectsender,KeyPressEventArgse){listBox1.Focus();SendKeys.Send(e.KeyChar

c# - 将大量文本写入文本框

我正在将大量格式化文本的日志写入.netWindows窗体应用程序中的文本框。一旦数据超过几兆就变慢了。因为我要附加字符串,所以每次都必须重新分配,对吗?我只需要将值设置到文本框一次,但在我的代码中,我正在执行line+=data数万次。有没有更快的方法来做到这一点?也许是不同的控制?有我可以使用的链表字符串类型吗? 最佳答案 如果文本框是增量添加的,例如日志输出,StringBuilder将无济于事。但是,如果上述情况属实并且您的更新足够频繁,您可能需要缓存一定数量的更新,然后一步添加它们(而不是不断添加)。这将为您节省许多字符串

c# - WPF TextBox MaxLength——有没有办法将其绑定(bind)到绑定(bind)字段上的数据验证最大长度?

View模型:publicclassMyViewModel{[Required,StringLength(50)]publicStringSomeProperty{...}}XAML:有什么方法可以避免设置TextBox的MaxLength来匹配我的ViewModel(这可能会改变,因为它在不同的程序集中)并让它根据StringLength要求自动设置最大长度? 最佳答案 我用了Behavior将TextBox连接到其绑定(bind)属性的验证属性(如果有)。行为看起来像这样://////Setthemaximumlengthofa

c# - 文本框上的火灾事件失去焦点

我正在尝试在屏幕上的TextBox变得“未聚焦”时立即调用一个方法,如果这有意义的话?用户输入用户名,一旦该文本框失去焦点,我想触发一个事件来检查该用户名是否确实可用。谢谢! 最佳答案 C#中有一个Control.Leave,我认为它非常适合您的目的。你可以到visualstudio中的文本框事件,找到Leave事件。生成的代码如下:privatevoidtxtbox_Leave(objectsender,EventArgse){//CheckforavailableoperationCode}

c# - 如何在 C# Windows 窗体应用程序中激活拼写检查?

我正在VisualStudio2012中制作一个C#Windows窗体应用程序。我想添加一个具有拼写检查功能的文本框。你能解释一下它的过程吗? 最佳答案 如果您使用的是.net4,则可以将ReferencesSystem.Xaml和WindowsFormsIntegration添加到您的Winforms项目中。这允许您在工具箱中找到ElementHost。通过使用ElementHost,您可以在Winfroms项目中使用WPF对象。System.Windows.Forms.Integration.ElementHostelement