Очистить пробелы от конца строки в WPF / XAML - PullRequest
5 голосов
/ 10 января 2012

У меня есть приложение MVVM, которое использует список, который заполнен изображениями. Строка изображения всегда происходит от объекта, который я не могу изменить, потому что он генерируется с использованием модели edmx.

Чтобы сократить историю, мне нужно добавить в следующий xaml способ обрезки пробела, вставленного в конец пути изображения с помощью SQL из строки.

<ListBox ItemsSource="{Binding AllImages}" x:Name="listBox1" Width="300" Margin="10,10,0,10">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <Image Grid.Column="0" Source="{Binding imagePath}" Height="100" Width="100" />
                <TextBlock Grid.Column="1" Text="{Binding imageId}" />
            </StackPanel>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

Возможно ли это?

Ответы [ 2 ]

8 голосов
/ 10 января 2012

Используйте преобразователь значений в привязке, которая выполняет обрезку для вас.

5 голосов
/ 11 января 2012

Если вы не хотите использовать конвертер, вы можете сделать это прямо в своем Свойстве

INotifyChangedProperty Solution

private string _ImageID;
public string ImageID
{
    get
    {
        return _ImageID;
    }

    set
    {
       value = (value == null ? value : value.Trim());
       NotifyPropertyChanged("ImageID");
    }
}

DependencyProperty Solution

public static readonly DependencyProperty ImageIDProperty =
    DependencyProperty.Register("ImageID", typeof(string), typeof(MainWindowViewModel), new PropertyMetadata(string.Empty));

    public string ImageID
    {
        get { return (string)GetValue(ImageIDProperty); }
        set { SetValue(ImageIDProperty, value == null ? value : value.Trim()); }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...