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 - 고정 높이 단일/다중 선택 목록" FontWeight="SemiBold" FontSize="14" Margin="0,0,0,8"/>
        <Button Content="항목 추가" Click="Button_Click"/>
        <ListBox Width="280" Height="140" x:Name="myListBox" SelectionMode="Multiple">
            <ListBoxItem Content="문서"/>
            <ListBoxItem Content="사진"/>
            <ListBoxItem Content="동영상"/>
            <ListBoxItem Content="음악"/>
            <ListBoxItem Content="설치 프로그램"/>
        </ListBox>
    </StackPanel>
</Border>Code language: C++ (cpp)

버튼을 하나 추가했으며 클릭 시 새로운 ListBox 항목이 생성됩니다. 백엔드 코드에서 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)
{
    // ListBox의 Items 컬렉션 가져오기
    auto itemCollection = myListBox().Items();

    itemCollection.Append(box_value(L"새 항목"));
}Code language: C++ (cpp)

이벤트 함수 안에서 x:Name=”myListBox” 컨트롤 인스턴스를 얻은 뒤 Items 컬렉션을 가져오고 Append 메서드로 새 내용을 추가합니다.

WinUI 3 C++ 컨트롤 편 – ListBox Items 동적 추가하기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다