WinUI 3 C++ 控件篇-ListBox的Items动态添加

下面我们来做一个常用的功能,就是往一个ListBox的项中动态添加,点击按钮,往ListBox的Items中插入新的项目,这个功能应该在很多软件中都有用到了。

首先在xaml中添加一个ListBox 和一个按钮

<Border Padding="14" BorderThickness="1" BorderBrush="Gray" CornerRadius="8">
    <StackPanel Spacing="12">
        <TextBlock Text="5. ListBox - Fixed Height Single/Multi Select List" FontWeight="SemiBold" FontSize="14" Margin="0,0,0,8"/>
        <Button Content="Add Item" Click="Button_Click"/>
        <ListBox Width="280" Height="140" x:Name="myListBox" SelectionMode="Multiple">
            <ListBoxItem Content="Documents"/>
            <ListBoxItem Content="Pictures"/>
            <ListBoxItem Content="Videos"/>
            <ListBoxItem Content="Audios"/>
            <ListBoxItem Content="Installers"/>
        </ListBox>
    </StackPanel>
</Border>Code language: C++ (cpp)

我们添加了一个按钮,然后点击按钮的时候,添加新的ListBox的Item,为了方便后台操作ListBox,需要给它一个名字,x:Name=”myListBox”

按住F12创建事件函数。

void winrt::App6::implementation::MainWindow::Button_Click(
winrt::Windows::Foundation::IInspectable const& sender,
 winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
    // get ListBox‘s Items
    auto itemCollection = myListBox().Items();

    itemCollection.Append(box_value(L"New Item"));
}Code language: C++ (cpp)

在事件函数中,先获取到x:Name=”myListBox”的对象,然后获取Items,然后再往这个items中追加内容Append

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注