C# 删除“;X";文本框末尾的按钮
我正在使用C#+XAML开发一个Windows应用商店应用程序。当我添加一个属性C# 删除“;X";文本框末尾的按钮,c#,xaml,windows-8,windows-runtime,windows-store-apps,C#,Xaml,Windows 8,Windows Runtime,Windows Store Apps,我正在使用C#+XAML开发一个Windows应用商店应用程序。当我添加一个属性TextWrapping设置为NoWrap的文本框时,当它聚焦时,文本框的末尾会出现一个“X” 因此,我需要删除此“X”,文本框无法包装。X是作为辅助功能存在的。这使得在触摸设备上清除框变得更容易,因为选择所有文本并点击删除是一项艰巨的任务,需要多个步骤 所以,请不要禁用它,除非你有非常重要的理由这样做。没有用于禁用“X”的属性,产品团队也不打算禁用它。但是,出于教育目的,我将展示您可以通过更改样式来禁用它 在Exp
TextWrapping
设置为NoWrap
的文本框时,当它聚焦时,文本框的末尾会出现一个“X”
因此,我需要删除此“X”,文本框无法包装。X是作为辅助功能存在的。这使得在触摸设备上清除框变得更容易,因为选择所有文本并点击删除是一项艰巨的任务,需要多个步骤 所以,请不要禁用它,除非你有非常重要的理由这样做。没有用于禁用“X”的属性,产品团队也不打算禁用它。但是,出于教育目的,我将展示您可以通过更改样式来禁用它 在Expression Blend中,右键单击文本框并选择编辑模板->编辑副本。为模板命名为“NoXTextBox”,并确保将其保存在应用程序级别(否则您只能在当前页面上使用它) 然后,Blend将切换到一种模式,在该模式下,您将编辑文本框的视觉外观,而不是页面。在“对象和时间轴”面板中,您应该会看到一个名为DeleteButton的元素。您可以从模板中删除该按钮并保存您的工作。单击“对象和时间线”面板顶部的按钮,该按钮看起来像一条带向上箭头的水平线(当您将鼠标悬停在该按钮上时,它会显示“将范围返回到[页面]”)。现在,您可以重新编辑页面,而不是编辑文本框 要创建更多类似于此的文本框,您可以复制并粘贴它,或者在样式分支下的混合工具箱中,您将看到自定义的“NoXTextBox” 同样,请不要禁用此功能,除非您有很好的理由这样做。老实说,我想不出有什么好的理由这么做,因为你破坏了用户在Windows应用商店应用程序中期望的功能。我主要是想回答你的问题,这样你就能感受到如何修改内置控件
开发支持、设计支持和更多令人敬畏的优点:正如您从本文档中看到的,它非常详细地解释了该功能。正如您在使用Javascript、Html或Css时所看到的,您有非常快速、简洁的方法来删除该字段。因为您可以简单地使用级联样式表禁用它 现在,在样式表中,您可以非常轻松地修改它:
input[type=text]::-ms-clear
{
border: 2px solid orange
}
大多数按钮都非常容易使用,以便在应用程序中实现一致的设计。但这并不能回答您的问题,如何使用C#/XAML禁用它
在Textbox组件内部,您会注意到指示可视状态和可见性的代码。如果您注释掉该段代码,它将禁用X。例如:
如上所述,它是一个非常漂亮和有用的工具。特别是在触摸屏设备上;它不仅坚持微软的统一,而且还使用户界面更干净,因为你有一个简单的方法来删除该字段中的项目
我劝你不要删除它,希望这能为你解释一下这个问题。正如大家所说,你真的不应该删除“X”,除非你有很好的理由这么做
要删除X,您必须将其设置为TextWrapping=“Wrap”编辑控制模板并删除模板中的Delete按钮及其引用,而不是将TextWrapping设置为“NoWrap”。这会使X消失,并在输入过程中停止对文本的偏移
input[type=text]::-ms-clear
{
visibility: collapse;
}
对我来说,解决方案是设置IsReadOnly=“True”的属性为什么要删除该X?它对使用触摸屏的用户非常有用。如果这是一个商店应用程序,请仔细考虑删除该X。只有在清除字段内容没有意义时才删除它(对于文本框来说很少见,现在想不出原因),甚至在发布前用触摸屏测试它(如果你找到方法的话)。实际上,我的应用程序是用C#+XAML编写的,而不是HTML+JavaScript。它工作正常。谢谢你,格雷格。我想删除clear按钮的原因是它与设计不一致。但别担心,我只在一个文本框上禁用了它。所有其他人都有那个(有用的)清除按钮。清除按钮真的很有用,@Jared。但我决定删除这个按钮只是从一个文本框,这是因为设计的问题。这个文本框末尾的一个大X真的很奇怪。谢谢你的回答!