如何使WPF不区分大小写?

时间:2010-07-21 20:46:31

标签: wpf vb.net visual-studio-2010

我不喜欢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>

4 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

我认为WPF不是问题所在。

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

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

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

简单易用 如果必须比较两个字符串。 一个可以存储在列表,字符串中或为某个变量,其他字符串由用户在文本框中输入。 然后只需使用上移或下移 这些将仅针对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");
}

尝试一下,您将得到答案