基本上我从服务中获取一些数据并在列表框中显示结果。项目的模板使用网格。注意:如果有更好的方式让我知道。
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0"/>
<TextBlock Grid.Column="1"/>
</Grid>
问题是,有时候不会返回图像。在这种情况下,图像的列应该折叠,文本列应占用整个宽度。
我已经尝试了几种不同的方法,没有运气。如果没有返回图像,如何折叠此列?
答案 0 :(得分:2)
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0"/>
<TextBlock Grid.Column="1"/>
</Grid>
将图像列宽设置为自动将根据图像大小调整列宽。如果没有图像,则大小将设置为0.文本列设置为*
,这样它总是占用所有可用空间。
注意:如果图片很大,您可能还需要设置MaxWidth
。
答案 1 :(得分:0)
您可以使用Expander
控件并设置IsExpanded
属性。