如何使WPF不区分大小写?

问题描述 投票:-4回答:4

我不喜欢WPF无法以不区分大小写的方式解释文本。

是否有任何工具(即VS插件)将采用我的VB .NET代码并为我处理区分大小写的问题?

编辑:现在举例。

输入:

<Dockpanel DockPanel.Dock="Bottom">
        <Label Content="(c) blahblah" HorizontalAlignment="Left"  Name="Label2" VerticalAlignment="Bottom" Opacity=".75" Background="White" DockPanel.Dock="bottom"/>
    </DockPanel>

输出:

<DockPanel DockPanel.Dock="Bottom">
    <Label Content="(c) blahblah" HorizontalAlignment="Left"  Name="Label2" VerticalAlignment="Bottom" Opacity=".75" Background="White" DockPanel.Dock="Bottom"/>
</DockPanel>
wpf vb.net visual-studio-2010
4个回答
5
投票

这有点像尝试使用C#而没有;或没有尖括号的XAML。区分大小写是XAML语言和WPF绑定系统的固有部分。如果您的VB代码在使用WPF时导致问题,请选择Strict并在代码中修复不一致的大小写。


1
投票

我认为WPF不是问题所在。

如果您需要验证数据并从问题中删除案例,请在比较之前将所有字符串转换为Upper或Lower。

如果需要更改TextBox在WPF中的运行方式,可以创建自己继承的TextBox并覆盖Text属性,也可以修改绑定属性中的setter来修改它接收的任何值,如

public string Name
{
  get { return this._name; }
  set 
  { 
     this._name = value.ToUpper(); 
     OnPropertyChanged("Name");
  }
}

没有关于这个问题的更多信息,我不确定还有什么建议。


0
投票

我不确定你想要实现什么,但在检查用户名时我遇到了区分大小写的问题。我们的标准是SimpsonHJ,但有些用户会以simpsonhj或SIMPSONHJ身份登录他们的机器。所以我创建了一个变量,将发现的用户名更改为全部大写

private string un = Environment.UserName.ToUpper();

0
投票

简单易用如果你要比较两个字符串。一个可以存储在列表中,字符串中或者是一些变量,其他字符串由用户在文本框中输入。然后简单地使用To Upper或To Lower这些将首先将字符串转换为大写或小写,仅用于compair_values。防爆。

string s = "ram" ;
string p = "Ram" ;

if(s.ToUpper()==p.ToUpper())
 {
   Console.WriteLine("String matched");
   MessageBox.Show("String matched");
 }
else 
{
   Console.WriteLine("Not matched");
   MessageBox.Show("Not matched");
}

试试吧,你会得到答案

© www.soinside.com 2019 - 2024. All rights reserved.