c# - 如何在 WPF 的列表视图中调整图像的宽度?
问题描述
我有一个ListView
包含Image
项目。每当我调整包含它的 Grid 的大小时,我希望每个图像的宽度都遵循 ListView 的宽度。
<!--Playlists-->
<Grid Column="0">
<ListView Grid.Row="1" Grid.Column="1"
HorizontalAlignment="Stretch"
... >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
<!--Images-->
<ListView.ItemTemplate>
<DataTemplate DataType="{x:Type models:PlaylistModel}">
<Grid HorizontalAlignment="Stretch">
<Image Source="{Binding ImagePath}"
Stretch="Uniform">
</Image>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
<GridSplitter Grid.Column="0" />
如此处所示,图像的宽度根本不会调整大小。即使 ListView 的大小发生变化,图像大小也保持不变。但是,如果我设置Grid
内部的宽度,DataTemplate
那么图像实际上会遵循该宽度。
解决方案
看来是用错了ListView
。将所有内容更改ListBox
为对我来说已修复的内容。
如果有人遇到同样的问题,请留在这里。
<ListBox HorizontalAlignment="Stretch">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate DataType="{x:Type models:PlaylistModel}">
<Image Source="{Binding ImagePath}"
Stretch="Uniform" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
推荐阅读
- kotlin - Kotlin 中的构造函数与参数
- c# - 在 EF Core 中禁用并发检查
- python-3.x - 有没有在 Julia 中使用 SQLAlchemy 的简单方法?
- elasticsearch - 用于百分位聚合值的 Elastic Search 存储桶脚本
- android - 第二个活动是空白的
- php - 变量失去引用,当被引用的变量后来引用另一个
- flutter - 如何在 Flutter 中更新 AnimatedList 中的数据
- android - 当我尝试显示我的 Json 响应(改造)时,每次在我的卡片视图中都会重复相同的元素
- java - 如何通过单击片段中的卡片视图打开新活动?
- java - 如何通过 android studio 在行文件夹中创建 .crt 文件