【问题标题】:Send item from listview on click on an item's button on uwp单击 uwp 上的项目按钮从列表视图发送项目
【发布时间】:2021-04-13 04:36:42
【问题描述】:

在我的 UWP 应用中,我有以下代码来描述我的列表视图:

当在一个项目中单击删除图标时,我想获取所选项目以进行删除,但我不知道应该如何完成。 提前致谢

【问题讨论】:

    标签: listview uwp uwp-xaml


    【解决方案1】:

    当在一个项目中单击删除图标时,我想获取所选项目以进行删除,但我不知道应该如何完成。提前致谢

    您可以将您的项目插入到ObservableCollection 中,当项目删除时可以通知 ui 界面。更多内容请参考以下内容。

    Xaml 代码

    <ListView ItemsSource="{x:Bind Items}">
        <ListView.ItemTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock
                        VerticalAlignment="Center"
                        FontSize="15"
                        Text="{Binding}" />
                    <AppBarButton
                        Click="AppBarButton_Click"
                        Icon="Delete"
                        Label="Delete"
                        Visibility="Visible" />
                </StackPanel>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
    

    背后的代码

    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
            for (int i = 0; i < 10; i++)
            {
                Items.Add($"items{i}");
            }
            
        }
        public ObservableCollection<string> Items { get; set; } = new ObservableCollection<string>();
        private void AppBarButton_Click(object sender, RoutedEventArgs e)
        {
            var item = (sender as AppBarButton).DataContext;
            Items.Remove((string)item);
        }
    }
    

    【讨论】:

    • DataContext 究竟返回了什么?
    • DataContext 类型是对象,您需要将其与项目类型一起收件箱。上面的例子是字符串类型
    • 所以在这种情况下,DataContext 将是绑定在 Item 类型的那一行中的项目,对吗?
    猜你喜欢
    • 1970-01-01
    • 2020-07-26
    • 1970-01-01
    • 2023-03-11
    • 2018-07-07
    • 1970-01-01
    • 2016-09-21
    • 2012-06-24
    • 2013-12-30
    相关资源
    最近更新 更多