인포바(InfoBar)는 색상이 적용된 텍스트 박스 컨트롤입니다. 성공, 경고, 오류 등 메시지 종류에 따라 다른 색상을 보여줄 수 있습니다. 메시지 표시 후 닫을 수 있으며 백엔드 코드에서 표시/숨김 상태를 제어할 수 있습니다.
먼저 XAML에 InfoBar 세 개를 추가합니다
<StackPanel Spacing="10">
<TextBlock Text="InfoBar 메시지 바 데모:" FontSize="16"/>
<InfoBar x:Name="InfoSuccess" Severity="Success" Title="성공" Message="작업이 정상 완료되었습니다." IsOpen="False"/>
<InfoBar x:Name="InfoWarning" Severity="Warning" Title="경고" Message="저장되지 않은 변경 사항이 있습니다." IsOpen="False"/>
<InfoBar x:Name="InfoError" Severity="Error" Title="오류" Message="파일 로드에 실패했습니다. 다시 시도하십시오." IsOpen="False"/>
<StackPanel Orientation="Horizontal" Spacing="10">
<Button Content="성공 메시지 보기" Click="BtnShowInfoSuccess_Click"/>
<Button Content="경고 메시지 보기" Click="BtnShowInfoWarning_Click"/>
<Button Content="오류 메시지 보기" Click="BtnShowInfoError_Click"/>
</StackPanel>
</StackPanel>Code language: HTML, XML (xml)
그 다음 버튼 세 개를 추가하고 클릭 이벤트를 연결합니다. 이벤트 함수 안에서 각 인포바의 표시/닫기 상태를 설정합니다.
void winrt::AppWinui::implementation::MainWindow::BtnShowInfoSuccess_Click(
winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
InfoSuccess().IsOpen(true);
InfoWarning().IsOpen(false);
InfoError().IsOpen(false);
}
void winrt::AppWinui::implementation::MainWindow::BtnShowInfoWarning_Click(
winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
InfoSuccess().IsOpen(false);
InfoWarning().IsOpen(true);
InfoError().IsOpen(false);
}
void winrt::AppWinui::implementation::MainWindow::BtnShowInfoError_Click(
winrt::Windows::Foundation::IInspectable const& sender, winrt::Microsoft::UI::Xaml::RoutedEventArgs const& e)
{
InfoSuccess().IsOpen(false);
InfoWarning().IsOpen(false);
InfoError().IsOpen(true);
}
Code language: C++ (cpp)

WinUI 3 C++ 컨트롤 강의 – InfoBar 메시지 바