WPF 中TreeView 右键选中实现

方法一:

private void test_MouseDown(object sender, MouseButtonEventArgs e)

        {

        

            if (e.Source is TreeViewItem)

            {

                if (e.RightButton == MouseButtonState.Pressed)

                {

                    (e.Source as TreeViewItem).IsSelected = true;

                }

            }

        

        }

 

 

方法二:

Here is the code:

Code Snippet
<TreeView Name="treeView"
ItemsSource="{Binding Path=Root.Elements}"
ItemTemplate="{StaticResource template}">
<
TreeView.ItemContainerStyle>
<
Style TargetType="TreeViewItem">
<
EventSetter
Event="TreeViewItem.MouseRightButtonDown"
Handler="TreeViewItem_MouseRightButtonDown"/>
</
Style>
</
TreeView.ItemContainerStyle>
</
TreeView>

private void
TreeViewItem_MouseRightButtonDown(object sender, MouseEventArgs e)
{
TreeViewItem item = sender as TreeViewItem;
if (item != null)
{
item.Focus();
e.Handled = true;
}
}


For the explanation on why setting focus can select the TreeViewItem, you can refer to this thread instead.

Hope this helps

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值