728x90
반응형
WPF & C# - TextBox 에서 ContextMenu 변경하기 ( SelectedText / 텍스트선택 / 마우스우클릭메뉴 ) |
<Grid x:Name="grdMain">
</Grid>
public MainWindow()
{
InitializeComponent();
CreateTextBox(); // TextBox 생성
}
void CreateTextBox()
{
// TextBox 생성
TextBox tbx = new TextBox();
tbx.Text = "123456789";
tbx.FontSize = 20;
grdMain.Children.Add(tbx);
// 컨텍스트메뉴 생성 ( ContextMenu )
ContextMenu contextmenu = new ContextMenu();
MenuItem mid = new MenuItem();
mid.Header = "Create PDF";
mid.Tag = mid.Header;
mid.Click += (s, a) =>
{
a.Handled = true;
};
contextmenu.Items.Add(mid);
// 마우스 우클릭 시 contextmenu 변경
tbx.PreviewMouseRightButtonUp += (s, a) =>
{
if (tbx.SelectedText == "")
{
tbx.ContextMenu = contextmenu; // ContextMenu 변경
}
else
{
tbx.ClearValue(ContextMenuProperty); // 기본값
}
};
}
마우스 우 클릭 시 텍스트선택 여부에 따라 ContextMenu 를 다르게 출력한다.
참고
728x90
반응형
'Programing (프로그래밍) > WPF & C# (C Sharp)' 카테고리의 다른 글
WPF & C# - 스크린샷 ( 화면캡처 / 화면캡쳐 / screenshot / ScreenCapture ) (0) | 2021.12.10 |
---|---|
WPF & C# - OSK 화상키보드 실행하기 ( 가상키보드 ) (0) | 2021.05.17 |
WPF & C# - ComboBox & Enum 사용법 ( 콤보박스, 드롭박스, DropBox ) (0) | 2021.04.12 |
WPF & C# - List<string> 동적 배열 ( 리스트 / array / dictionary ) (0) | 2021.03.23 |
WPF & C# - RoundButton ( 둥근버튼 만들기 / CornerRadius / Style ) (0) | 2021.03.10 |
WPF & C# - Grid 만들기 (0) | 2021.03.08 |
WPF & C# - struct 구조체 (0) | 2021.03.03 |
WPF & C# - Interlocked ( 멀티쓰레딩에서 변수 변경 시 필수 / lock 대체 / 멀티쓰레드 / MultiThread / Threading ) (0) | 2021.02.18 |