我在网格中添加了一个GridImageColumn,并且正在向其中添加一个图像。似乎列的宽度(当我将ColumnSizer=设置为“自动”时)被设置为我从中绘制图像的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相当长,基本上和下面截图中的列一样宽)。

发布于 2018-09-24 15:23:12
当ColumnSizer设置为自动时,我们无法重现报告的GridImageColumn大小调整问题。我们已经附加了我们已经测试过的16.3.0.21版本的样本,你可以从下面的链接中找到
http://www.syncfusion.com/downloads/support/directtrac/215737/ze/GridDropDownAndReadOnlyColumns27872867.zip
如果您仍然可以重现该问题,那么请您将修改后的样品返回给我们,以便在我们这一端重现报告的问题,从而我们可以分析并尽快为您提供适当的解决方案。
问候,Deivaselvan
注意:我在Syncfusion工作。
https://stackoverflow.com/questions/52449826
复制相似问题