WinUI 3 C++ 控制項教學 – InfoBar 訊息列

訊息列(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 訊息列

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *