使用 Itemsrepeater/ItemsControl 在 WinUI / WPF 中自动叠加多个 ImageSources

问题描述 投票:0回答:1

我创建了几个具有透明背景的位图来显示数据。数据加载正确,但我在覆盖这些图像时遇到问题。我需要帮助调整 ItemsRepeater 或 ItemsControl 的布局,以便它可以在没有预定义布局的情况下将图像堆叠在一起。

我的目标是使用 ItemsRepeater 或类似控件重新创建以下结构:

<Grid>
    <Image Grid.Row="1" Grid.Column="1" Source="{x:Bind ViewModel.ImagePath1, Mode=OneWay}" 
           AutomationProperties.Name="cliff" Stretch="Uniform"
           HorizontalAlignment="Center" VerticalAlignment="Center"/>
    <Image Grid.Row="1" Grid.Column="1" Source="{x:Bind ViewModel.ImagePath2, Mode=OneWay}" 
           AutomationProperties.Name="cliff" Stretch="Uniform"
           HorizontalAlignment="Center" VerticalAlignment="Center"/>
<!-- Images from 1-n -->
</Grid>


但我无法让图像正确叠加。如何使用 ItemsRepeater 或其他合适的控件实现此布局?

我尝试像这样使用 ItemsRepeater:

<ItemsRepeater ItemsSource="{x:Bind ViewModel.ContourPlots, Mode=OneWay}" 
               ItemTemplate="{StaticResource ContourPlotImageTemplate}" />
<Image Grid.Row="1" Grid.Column="1" Source="{x:Bind ViewModel.ImagePath2, Mode=OneWay}" 
       AutomationProperties.Name="cliff" Stretch="Uniform"
       HorizontalAlignment="Center" VerticalAlignment="Center"/>
wpf xaml uwp winui-3 itemscontrol
1个回答
0
投票

这对我有用:

<ItemsControl ItemsSource="{x:Bind ViewModel.ContourPlots, Mode=OneWay}">
<ItemsControl.ItemsPanel>
    <ItemsPanelTemplate>
        <Grid />
    </ItemsPanelTemplate>
</ItemsControl.ItemsPanel>

<ItemsControl.ItemTemplate>
    <StaticResource ResourceKey="ContourPlotImageTemplate" />
</ItemsControl.ItemTemplate>

© www.soinside.com 2019 - 2024. All rights reserved.