■ InfoBar 클래스의 Message/ActionButton 속성을 사용하는 방법을 보여준다.
▶ MainPage.xaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
<?xml version="1.0" encoding="utf-8"?> <Page x:Class="TestProject.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" FontFamily="나눔고딕코딩" FontSize="16"> <Grid Margin="10"> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="10" /> <ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions> <InfoBar Name="infoBar" Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center" Title="Title" IsOpen="True" /> <StackPanel Grid.Column="2" HorizontalAlignment="Center" VerticalAlignment="Center" Width="150"> <CheckBox Content="Is Open" IsChecked="{x:Bind infoBar.IsOpen, Mode=TwoWay}" /> <ComboBox Name="messageComboBox" Header="Message Length"> <ComboBoxItem Content="Short" /> <ComboBoxItem Content="Long" /> </ComboBox> <ComboBox Name="actionButtonComboBox" Header="Action Button"> <ComboBoxItem Content="None" /> <ComboBoxItem Content="Button" /> <ComboBoxItem Content="Hyperlink" /> </ComboBox> </StackPanel> </Grid> </Page> |
▶ MainPage.xaml.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
using System; using Microsoft.UI.Xaml.Controls; namespace TestProject { /// <summary> /// 메인 페이지 /// </summary> public sealed partial class MainPage : Page { //////////////////////////////////////////////////////////////////////////////////////////////////// Constructor ////////////////////////////////////////////////////////////////////////////////////////// Public #region 생성자 - MainPage() /// <summary> /// 생성자 /// </summary> public MainPage() { InitializeComponent(); this.messageComboBox.SelectionChanged += messageLengthComboBox_SelectionChanged; this.actionButtonComboBox.SelectionChanged += actionButtonComboBox_SelectionChanged; this.messageComboBox.SelectedIndex = 1; this.actionButtonComboBox.SelectedIndex = 0; } #endregion //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Private #region Message Length 콤보 박스 선택 변경시 처리하기 - messageLengthComboBox_SelectionChanged(sender, e) /// <summary> /// Message Length 콤보 박스 선택 변경시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void messageLengthComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if(this.infoBar == null) { return; } if(this.messageComboBox.SelectedIndex == 0) // Short { string shortMessage = "A short essential app message."; this.infoBar.Message = shortMessage; } else if(this.messageComboBox.SelectedIndex == 1) // Long { this.infoBar.Message = @"A long essential app message for your users to be informed of, acknowledge, or take action on. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin dapibus dolor vitae justo rutrum, ut lobortis nibh mattis. Aenean id elit commodo, semper felis nec."; } } #endregion #region Action Button 콤보 박스 선택 변경시 처리하기 - actionButtonComboBox_SelectionChanged(sender, e) /// <summary> /// Action Button 콤보 박스 선택 변경시 처리하기 /// </summary> /// <param name="sender">이벤트 발생자</param> /// <param name="e">이벤트 인자</param> private void actionButtonComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if(this.infoBar == null) { return; } if(this.actionButtonComboBox.SelectedIndex == 0) // None { this.infoBar.ActionButton = null; } else if(this.actionButtonComboBox.SelectedIndex == 1) // Button { Button button = new Button(); button.Content = "Action"; this.infoBar.ActionButton = button; } else if(this.actionButtonComboBox.SelectedIndex == 2) // Hyperlink { HyperlinkButton hyperlinkButton = new HyperlinkButton(); hyperlinkButton.NavigateUri = new Uri("https://icodebroker.com/"); hyperlinkButton.Content = "Informational link"; this.infoBar.ActionButton = hyperlinkButton; } } #endregion } } |