Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除“;X";文本框末尾的按钮_C#_Xaml_Windows 8_Windows Runtime_Windows Store Apps - Fatal编程技术网

C# 删除“;X";文本框末尾的按钮

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

我正在使用C#+XAML开发一个Windows应用商店应用程序。当我添加一个属性
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真的很奇怪。谢谢你的回答!