gpt4 book ai didi

xaml - 如何获取我在 ListView 中持有的项目

转载 作者:行者123 更新时间:2023-12-04 14:29:15 25 4
gpt4 key购买 nike

我正在使用 win8 中的 ListView 控件。我想在按住项目时添加一个事件,然后删除该项目。

xaml 和事件代码如下:

<ListView x:Name="ImageList" VerticalAlignment="Bottom" Background="LightGray" Width="1050" BorderBrush="Black" BorderThickness="2" Grid.Column="1" 
Holding="ListView_Hold1" SelectionChanged="OnSelectedChanged" SelectionMode="Single" Height="152" ScrollViewer.HorizontalScrollBarVisibility="Auto" ItemContainerStyle="{StaticResource ListViewItemStyle1}" Style="{StaticResource ListViewStyle1}">
<ListView.ItemTemplate>
<DataTemplate>
<Image Opacity="0.7" Width="150" Height="125" Stretch="UniformToFill" Source="{Binding}" />
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>


private async void ListView_Hold1(object sender, Windows.UI.Xaml.Input.HoldingRoutedEventArgs e)
{...}

似乎我无法从holdroutdEventArgs 中获取任何信息,但只能从 originalsource 的属性中获取任何信息。但它是图像并没有办法访问iteml

我发现了一个相关问题:“如何在 ListView 中获取点击的项目”。可以通过获取selecteditem的属性来解决。

任何人都可以帮助我吗?给我一些线索。

最佳答案

您应该可以从 HoldingRoutedEventArgs.OriginalSource.DataContext 获得它。 ,在您的情况下:(假设 ListView.ItemSourceImageModel 的列表)

private async void ListView_Hold1(object sender, Windows.UI.Xaml.Input.HoldingRoutedEventArgs args)
{
var source = (FrameworkElement)args.OriginalSource;
var imageModel = (ImageModel)source.DataContext;
}

关于xaml - 如何获取我在 ListView 中持有的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18251321/

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