【问题标题】:Syncfusion WPF SfDatagrid GridImageColumn widthSyncfusion WPF SfDatagrid GridImageColumn 宽度
【发布时间】:2018-09-21 19:10:50
【问题描述】:

我在我的网格中添加了一个 GridImageColumn,并正在向它添加一个图像。似乎列的宽度(当我设置 ColumnSizer="Auto" 时)被设置为我正在从中获取图像的 url 的长度,而不是实际的图像大小。如果我使用一些非常短的 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 很长,基本上和下面屏幕截图中的列一样宽):

【问题讨论】:

    标签: c# wpf syncfusion


    【解决方案1】:

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

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

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

    问候, Deivaselvan

    注意:我正在为 Syncfusion 工作。

    【讨论】:

    • 谢谢。我可以使用您的示例重现该问题。要重现,请将 orderInfo.ImageLink 属性替换为 @"ffrk.denagames.com/dff/static/lang/image/sphere_material/…" 并在 StringToImageConverter 中将 UriKind.Relative 替换为 UriKind.RelativeOrAbsolute。我在 Syncfusion 16.2.0.50 上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 2011-01-20
    • 2018-04-27
    相关资源
    最近更新 更多