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:local="using:TestProject"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">
<Grid Name="contentGrid"
Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<Button
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="메시지 대화 상자 표시하기"
Click="button_Click" />
</Grid>
</Page>
728x90
▶ MainPage.xaml.cs
using Windows.Foundation;
using Windows.UI;
using Windows.UI.Core;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Media;
namespace TestProject
{
/// <summary>
/// 메인 페이지
/// </summary>
public sealed partial class MainPage : Page
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region Field
/// <summary>
/// 색상
/// </summary>
private Color color;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainPage
/// <summary>
/// 생성자
/// </summary>
public MainPage()
{
this.InitializeComponent();
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
#region 버튼 클릭시 처리하기 - button_Click(sender, e)
/// <summary>
/// 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void button_Click(object sender, RoutedEventArgs e)
{
MessageDialog messageDialog = new MessageDialog("색상을 선택해 주시기 바랍니다.", "색상 선택");
messageDialog.Commands.Add(new UICommand("빨강", null, Colors.Red ));
messageDialog.Commands.Add(new UICommand("녹색", null, Colors.Green));
messageDialog.Commands.Add(new UICommand("파랑", null, Colors.Blue ));
IAsyncOperation<IUICommand> asyncOperation = messageDialog.ShowAsync();
asyncOperation.Completed = messageDialog_asyncOperation_Completed;
}
#endregion
#region 메시지 대화 상자 비동기 작업 완료시 처리하기 - messageDialog_asyncOperation_Completed(asyncOperation, asyncStatus)
/// <summary>
/// 메시지 대화 상자 비동기 작업 완료시 처리하기
/// </summary>
/// <param name="asyncOperation">비동기 작업</param>
/// <param name="asyncStatus">비동기 상태</param>
private void messageDialog_asyncOperation_Completed(IAsyncOperation<IUICommand> asyncOperation, AsyncStatus asyncStatus)
{
IUICommand uiCommand = asyncOperation.GetResults();
this.color = (Color)uiCommand.Id;
IAsyncAction asyncAction = this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, dispatcherRunAsyncCallback);
}
#endregion
#region 디스패처 비동기 콜백 처리하기 - dispatcherRunAsyncCallback()
/// <summary>
/// 디스패처 비동기 콜백 처리하기
/// </summary>
private void dispatcherRunAsyncCallback()
{
this.contentGrid.Background = new SolidColorBrush(this.color);
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > UWP' 카테고리의 다른 글
[C#/UWP] Package 클래스 : 패키지 정보 구하기 (0) | 2016.03.01 |
---|---|
[C#/UWP] Application 클래스 : Suspending 이벤트 사용하기 (0) | 2016.03.01 |
[C#/UWP] MessageDialog 클래스 사용하기 (비동기 취소하기) (0) | 2016.02.23 |
[C#/UWP] MessageDialog 클래스 사용하기 (await 연산자 사용하기) (0) | 2016.02.20 |
[C#/UWP] MessageDialog 클래스 사용하기 (익명 대리자 사용) (0) | 2016.02.19 |
[C#/UWP] DisplayRequest 클래스 : 자동 디스플레이 끄기 방지하기 (0) | 2016.02.08 |
[C#/UWP] 클래스 계층도 표시하기 (0) | 2016.02.06 |
[C#/UWP] 알려진 색상 리스트 구하기 (0) | 2016.02.06 |
[C#/UWP] LinearGradientBrush 엘리먼트 : 무지개 색상 브러시 사용하기 (0) | 2016.01.23 |
[C#/UWP] Path 마크업에서 Geometry 구하기 (0) | 2016.01.23 |
댓글을 달아 주세요