WPF & C# - TextBox 에서 ContextMenu 변경하기 ( SelectedText / 텍스트선택 / 마우스우클릭메뉴 )

2021. 3. 17. 22:02Programing (프로그래밍)/WPF & C# (C Sharp)

728x90
반응형
 WPF & C# - TextBox 에서 ContextMenu 변경하기 ( SelectedText / 텍스트선택 / 마우스우클릭메뉴 )

TextBox_contextmenu.zip
0.04MB
TextBox_contextmenu.exe
0.01MB

 

 

<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 를 다르게 출력한다.

 

참고

insurang.tistory.com/361

728x90
반응형