2012-12-21 81 views
2

我试图为大写通过XAML在WPF转换为小写象下面这样:如何使用XAML将WPF中的小写转换为大写?

<TextBox Height="86" CharacterCasing="Upper"/> 

我想TextBlockLabelButton来达到同样的场景。

我该怎么办?

+0

这是不能直接使用的一些控制,你将创建您的自定义转换器并使用它。 – ryadavilli

+0

ryadavilli,我不知道创建自定义converter.Please给我你的东西。 –

+0

为什么问题与其标题不符?小写↔大写? – Pang

回答

2

其中一种方法是使用NotifyOnTargetUpdated来处理TextChanged事件。

XAML

<TextBlock Name="TB" Text="{Binding Path=YourProperty, NotifyOnTargetUpdated=True}" 
       TargetUpdated="TB_TargetUpdated" /> 

代码背后

private void TB_TargetUpdated(object sender, DataTransferEventArgs e) 
{ 
    TB.Text = TB.Text.ToUpper(); 
} 
+0

@ChandruA请让我知道,如果这个答案帮助你。 – Ramin

+0

你可以做到这一点,但它的具体案例 - 你需要为每一个控制做到这一点。更好的使用_value转换器_作为** David Button **在此页面上提到。它们不仅是可重用的,而且是WPF的做事方式。 – MickyD

6

您应该使用值转换器:

public class ToUpperValueConverter : IValueConverter 
{ 
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     var str = value as string; 
     return string.IsNullOrEmpty(str) ? string.Empty : str.ToUpper(); 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return null; 
    } 
} 
相关问题