删除TextBox末尾的“X”按钮

在此处输入图像描述

我正在使用C#+ XAML开发Windowsapp store应用。 当我添加TextBox并将TextWrapping属性设置为NoWrap ,TextBox结束时会出现“X”。

所以,我需要删除这个“X”并且TextBox不能包装。

谢谢!

从本文档中可以看出,它很好地解释了该function。 正如您在使用Javascript,Html或Css时所看到的那样,您可以通过非常快捷的方式删除该字段。 您只需使用级联样式表即可将其禁用。

它显示的图像。编辑。

现在,在样式表中,您可以很容易地改变它:

 input[type=text]::-ms-clear { border: 2px solid orange } 

大多数按钮非常易于使用,以便在您的应用程序中实现一致的设计。 但这不能解答您的问题,如何使用C#/ XAML禁用它?

在Textbox组件内部,您会注意到指示视觉状态和可见性的代码。 如果您注释掉该部分代码,它将禁用X. 此处的示例如下:

如上所述,它是一个非常漂亮和有用的工具。 特别是在触摸屏设备上; 它不仅坚持微软统一,而且还使UI更清晰,因为你有一个简单的方法来删除该字段中的项目。

我敦促你不要删除它,希望这能为你解释一下这个问题。

正如大家所说,你真的不应该删除“X”,除非你有充分的理由去做。

若要删除X,而不是将TextWrapping设置为“NoWrap”,则必须将其设置为TextWrapping =“Wrap”

X作为辅助function。 它可以更轻松地清除触摸设备上的框,因为选择所有文本并点击删除是非常艰巨的并且需要多个步骤。

所以,请不要禁用此function,除非您有非常重要的理由这样做。 没有属性可以禁用“X”,产品团队也不打算禁用它。 但是,出于教育目的,我将展示您可以通过更改样式 禁用它。

在Expression Blend中,右键单击文本框,然后选择“ 编辑模板” – >“编辑副本” 。 为模板命名为’NoXTextBox’,并确保将其保存在应用程序级别(否则您只能在当前页面上使用它)。

然后,Blend将切换到您正在编辑TextBox而不是页面的视觉外观的模式。 在“ 对象和时间轴”面板中,您应该看到一个名为DeleteButton的元素。 您可以从模板中删除该按钮并保存您的工作。 单击“ 对象和时间轴”面板顶部的按钮,该按钮看起来像带有向上箭头的水平线(当您将鼠标hover在此按钮上时,它将显示“将范围返回到[页面]”)。 现在,您将返回编辑页面而不是编辑文本框。

要制作更多像这样的文本框,您可以复制并粘贴它,或者在Styles分支下的Blend工具箱中,您将看到自定义的“NoXTextBox”。

同样,请不要禁用此function,除非您有充分的理由这样做。 老实说,我不能想到这样做的好理由,因为你破坏了Windows应用程序用户期望的function。 我主要想回答你的问题,这样你就可以了解如何修改内置控件。

开发人员支持,设计支持以及更多令人敬畏的善良: http : //bit.ly/winappsupport

编辑控件模板并删除模板中的DeleteButton及其引用。

这使得X消失并且还在输入期间停止文本的偏移。

 input[type=text]::-ms-clear { visibility: collapse; }