2019년 1월 26일 토요일

(WPF이벤트)클래스와 이벤트 이름으로 이벤트 핸들러 정의하기

(WPF이벤트)클래스와 이벤트 이름으로 이벤트 핸들러 정의하기
n 클래스와 이벤트 이름을 속성으로 사용해서 이벤트 핸들러를 설정할 수도 있는데 이 핸들러는 자식엘리먼트에 영향을 미친다.
n 비주얼 스튜디오 -> WPF 응용프로그램 , 프로젝트명 : RoutedEventDemo
MainWindow.xaml
<Window x:Class="RoutedEventDemo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:RoutedEventDemo"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525">
<TextBlock Name="txtBlk" FontSize="20pt" HorizontalAlignment="Center" VerticalAlignment="Center" ToolTip="Right Click to display context menu"
MouseLeftButtonDown="TextBlock_Click">
TextBlock With Context Menu
<TextBlock.ContextMenu>
<ContextMenu MenuItem.Click="ContextMenu_Click">
<MenuItem Header="Red"/>
<MenuItem Header="Green"/>
<MenuItem Header="Blue"/>
<MenuItem Header="Orange"/>
</ContextMenu>
</TextBlock.ContextMenu>
</TextBlock>
</Window>
n MainWindow.xaml.cs
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Input;
namespace RoutedEventDemo
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void ContextMenu_Click(object sender, RoutedEventArgs e)
{
string str = (e.Source as MenuItem).Header as string;
Color color = (Color)ColorConverter.ConvertFromString(str);
txtBlk.Foreground = new SolidColorBrush(color);
}
public void TextBlock_Click(object sender, MouseEventArgs e)
{
Point p = e.GetPosition(null);
string MousePosText = string.Format("X = {0}, Y = {1}", p.X, p.Y);
if (e.LeftButton== MouseButtonState.Pressed) MessageBox.Show("왼쪽 " + MousePosText);
else if (e.RightButton == MouseButtonState.Pressed) MessageBox.Show("오른쪽 " + MousePosText);
else if (e.MiddleButton == MouseButtonState.Pressed) MessageBox.Show("가운데 " + MousePosText);
}
}
}
n 실행 결과

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...