728x90
반응형
728x170
▶ MainPage.xaml
<Page x:Class="TestProject.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
FontFamily="나눔고딕코딩"
FontSize="16">
<Grid>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="50" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<muxc:InfoBar Name="infoBar" Grid.Column="0"
VerticalAlignment="Center"
IsOpen="True"
Title="제목" />
<StackPanel Grid.Column="2"
VerticalAlignment="Center"
Spacing="10">
<CheckBox Name="IsOpenCheckBox2"
IsChecked="{x:Bind infoBar.IsOpen, Mode=TwoWay}"
Content="오픈 여부" />
<ComboBox Name="messageComboBox"
Header="메시지 길이"
SelectionChanged="messageComboBox_SelectionChanged"
SelectedIndex="1">
<ComboBoxItem Content="Short" />
<ComboBoxItem Content="Long" />
</ComboBox>
<ComboBox Name="actionButtonComboBox"
Header="액션 버튼"
SelectionChanged="actionButtonComboBox_SelectionChanged"
SelectedIndex="0">
<ComboBoxItem Content="None" />
<ComboBoxItem Content="Button" />
<ComboBoxItem Content="Hyperlink" />
</ComboBox>
</StackPanel>
</Grid>
</Grid>
</Page>
728x90
▶ MainPage.xaml.cs
using System;
using Windows.Foundation;
using Windows.Graphics.Display;
using Windows.UI.ViewManagement;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
namespace TestProject
{
/// <summary>
/// 메인 페이지
/// </summary>
public sealed partial class MainPage : Page
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainPage()
/// <summary>
/// 생성자
/// </summary>
public MainPage()
{
InitializeComponent();
#region 윈도우 크기를 설정한다.
double width = 800d;
double height = 600d;
double dpi = (double)DisplayInformation.GetForCurrentView().LogicalDpi;
ApplicationView.PreferredLaunchWindowingMode = ApplicationViewWindowingMode.PreferredLaunchViewSize;
Size windowSize = new Size(width * 96d / dpi, height * 96d / dpi);
ApplicationView.PreferredLaunchViewSize = windowSize;
Window.Current.Activate();
ApplicationView.GetForCurrentView().TryResizeView(windowSize);
#endregion
#region 윈도우 제목을 설정한다.
ApplicationView.GetForCurrentView().Title = "InfoBar 엘리먼트 : Message/ActionButton 속성 사용하기";
#endregion
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 메시지 콤보 박스 선택 변경시 처리하기 - messageComboBox_SelectionChanged(sender, e)
/// <summary>
/// 메시지 콤보 박스 선택 변경시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void messageComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if(this.infoBar == null)
{
return;
}
if(this.messageComboBox.SelectedIndex == 0)
{
this.infoBar.Message = "A short essential app message.";
}
else if(this.messageComboBox.SelectedIndex == 1)
{
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 액션 버튼 콤보 박스 선택 변경시 처리하기 - actionButtonComboBox_SelectionChanged(sender, e)
/// <summary>
/// 액션 버튼 콤보 박스 선택 변경시 처리하기
/// </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)
{
this.infoBar.ActionButton = null;
}
else if(this.actionButtonComboBox.SelectedIndex == 1)
{
Button button = new Button();
button.Content = "액션";
this.infoBar.ActionButton = button;
}
else if(this.actionButtonComboBox.SelectedIndex == 2)
{
HyperlinkButton hyperlinkButton = new HyperlinkButton();
hyperlinkButton.NavigateUri = new Uri("http://www.microsoft.com/");
hyperlinkButton.Content = "정보 링크";
this.infoBar.ActionButton = hyperlinkButton;
}
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > UWP' 카테고리의 다른 글
[C#/UWP] ProgressRing 엘리먼트 : IsIndeterminate/Value 속성 사용하기 (0) | 2021.07.17 |
---|---|
[C#/UWP] ProgressRing 엘리먼트 : IsActive 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] ProgressBar 엘리먼트 : Value 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] ProgressBar 엘리먼트 : ShowPaused/ShowError 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] InfoBar 엘리먼트 : IsOpen/IsIconVisible/IsClosable 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] InfoBar 엘리먼트 : Message/ActionButton 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] InfoBar 엘리먼트 : IsOpen/Severity 속성 사용하기 (0) | 2021.07.17 |
[C#/UWP] SemanticZoom 엘리먼트 사용하기 (0) | 2021.07.16 |
[C#/UWP] ScrollViewer 엘리먼트 사용하기 (0) | 2021.07.16 |
[C#/UWP] ApplicationViewSwitcher 클래스 : TryShowAsStandaloneAsync 정적 메소드를 사용해 신규 윈도우 표시하기 (0) | 2021.07.16 |
[C#/UWP] TabView 엘리먼트 : 강조 색상 탭 스트립 배경 사용하기 (0) | 2021.07.16 |
댓글을 달아 주세요