Как отобразить текст без пробелов в текстовом поле Xaml - PullRequest
0 голосов
/ 05 февраля 2019

Я получаю информацию из другой модели представления, и мне нужно показать ее в другом окне без вставленных пробелов.Но это не должно заменить оригинальный текст.Мне нужно удалить пробелы только при отображении

1 Ответ

0 голосов
/ 05 февраля 2019

Здесь вам нужно Converter, чтобы обрезать текст следующим образом:

using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media;

[ValueConversion( typeof( string ), typeof( string ) )]
public class NoWhiteSpaceTextConverter : IValueConverter
{
    public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
    {
        if ( ( value is string ) == false )
        {
            throw new ArgumentNullException( "value should be string type" );
        }

        string returnValue = ( value as string );

        return returnValue != null ? returnValue.Trim() : returnValue;
    }

    public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
    {
        throw new NotImplementedException();
    }
}

И использовать конвертер с привязкой текста в xaml, например:

<Windows.Resources>         
     <converter:NoWhiteSpaceTextConverter x:Key="noWhiteSpaceTextConverter"></converter:NoWhiteSpaceTextConverter>            
</Windows.Resources>

<TextBox Text="{Binding YourTextWithSpaces, Converter={StaticResource noWhiteSpaceTextConverter}}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...