Инфобар — это цветной текстовый блок. Он отображает разные цвета для сообщений об успехе, предупреждении или ошибке. После показа инфобар можно закрыть, его отображение и скрытие управляются из бэкенд-кода.
Сначала добавьте три элемента InfoBar в XAML
<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