Syncfusion WPF SfDatagrid GridImageColumn宽度

时间:2018-09-21 19:10:50

标签: c# wpf syncfusion

我在网格中添加了一个GridImageColumn,并正在为其添加图像。似乎列的宽度(当我设置ColumnSizer =“ Auto”时)设置为我从中提取图像的URL的长度,而不是实际的图像大小。如果我使用一些非常短的网址,则列的宽度也非常小。

这是预期的吗?我是否需要显式设置列的宽度?我想要的是使该列自动成为该列中最宽图像的宽度。

这是网格:

<syncfusion:SfDataGrid  x:Name="dataGrid" ItemsSource="{Binding TestItems}" ColumnSizer="Auto">
                <syncfusion:SfDataGrid.Columns>
                    <syncfusion:GridImageColumn
                        MappingName="TEST"
                        HeaderText="TEST"
                        Stretch="None"
                        TextAlignment="Center"
                        ValueBinding="{Binding Path=ImagePath, Converter={StaticResource StringToImageConverter}}" />
                </syncfusion:SfDataGrid.Columns>
            </syncfusion:SfDataGrid>

这里是StringToImageConverter。它只是获取BitmapImage并返回它:

class StringToImageConverter : IValueConverter
{
    private const string UriPrefix = "https://www.someprefix.com";

    public object Convert(object value, Type targetType,
        object parameter, CultureInfo culture)
    {
        string imageName = value is string ? UriPrefix + value : string.Empty;
        return new BitmapImage(new Uri(imageName, UriKind.RelativeOrAbsolute));
    }

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

结果看起来像这样(图像的宽度为112,URL很长,基本上与下面的屏幕快照中的列一样宽):

Column is wide

1 个答案:

答案 0 :(得分:0)

当ColumnSizer设置为Auto时,我们无法使用GridImageColumn重现报告的大小调整问题。我们已经附上了我们在最终版本16.3.0.21中测试过的示例,您可以从下面的链接中找到该示例

http://www.syncfusion.com/downloads/support/directtrac/215737/ze/GridDropDownAndReadOnlyColumns27872867.zip

如果您仍然可以重现该问题,那么请您将修改后的样本还原给我们,以便在我们最终重现所报告的问题,从而我们可以尽早分析并为您提供适当的解决方案。

关于, 迪瓦瑟尔万

注意:我正在为Syncfusion工作。