清除WPF/XAML中字符串末尾的空白

本文关键字:空白 字符串 WPF XAML 清除 | 更新日期: 2023-09-27 18:19:52

我有一个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>

这可能吗?

清除WPF/XAML中字符串末尾的空白

在绑定中使用一个值转换器,它为您进行修剪。

如果您不想使用转换器,您可以直接在属性中使用

INotifyChangedProperty解决方案

private string _ImageID;
public string ImageID
{
    get
    {
        return _ImageID;
    }
    set
    {
       value = (value == null ? value : value.Trim());
       NotifyPropertyChanged("ImageID");
    }
}

DependencyProperty解决方案

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()); }
    }