gpt4 book ai didi

c# - WPF ListView->GridView->StackPanel

转载 作者:太空宇宙 更新时间:2023-11-03 23:17:23 24 4
gpt4 key购买 nike

我有一个 ListView,它使用 GridView 来显示一些数据。其中一个字段包含带有图像路径的列表。因此我定义了一个 GridViewColumn 并创建了一个 DataTemplate。 Dis DataTemplate 包含另一个带有图像列表的 ListView 作为新的 DataContext。当我不在内部 StackPanel 中写入任何内容时,我可以看到字符串列表(格式为 AppName.ClassName)以从左到右的顺序显示。但是每当我尝试将字符串显示为其他内容时,例如

<Image Source="{Binding Name}" Height="32"/>

我得到一个 System.Windows.Markup.XamlParseException 。即使使用数据绑定(bind),我也会遇到异常。例如

<Image Source="Images/Camera_32xLG.png" Height="32"/>

.任何提示,我可能做错了什么?

        <GridViewColumn Header="Images">
<GridViewColumn.CellTemplate>
<DataTemplate>

<ListView ItemsSource="{Binding Images}" BorderThickness="0">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal">

--> here is where I don't know what to do next

</StackPanel>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>

</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>

最佳答案

由于 StackPanelItemsPanelTemplate 的一部分,您应该只定义它的属性,而不是显式添加任何子项。指定每个项目外观的方法是通过 ListView.ItemTemplate 属性:

<ListView ItemsSource="{Binding Images}"  BorderThickness="0">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Image Source="{Binding Name}" Height="32" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

关于c# - WPF ListView->GridView->StackPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36807003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com