Radtreeview使其只在某层节点上显示右键菜单(telerik控件)

<Control.Resources>
        <telerik:RadContextMenu  x:Key="ContextMenu">
            <telerik:RadMenuItem Header="样品清点"  Click="SampleCheck_Click" />
            <telerik:RadMenuItem Header="样品室内描述" Click="SampleStationDes_Click" />
            <telerik:RadMenuItem Header="室内样品" Click="SampleIndoorDescription_Click" />
            <telerik:RadMenuItem Header="添加样品"  Click="AddSample_Click" />
        </telerik:RadContextMenu>
        <DataTemplate x:Key="Station">
            <TextBlock Text="{Binding Name}" Width="120" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        </DataTemplate>
        <HierarchicalDataTemplate x:Key="Leg" ItemTemplate="{StaticResource Station}" ItemsSource="{Binding Stations}">
            <TextBlock Text="{Binding Name}"/>
        </HierarchicalDataTemplate>
        <HierarchicalDataTemplate x:Key="Voyage" ItemTemplate="{StaticResource Leg}" ItemsSource="{Binding Legs}">
            <TextBlock Text="{Binding Code}"/>
        </HierarchicalDataTemplate>
        <Style x:Key="VoyageItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}">
            <Setter Property="DefaultImageSrc" Value="sailing-ship-icon.png"/>
        </Style>
        <Style x:Key="LegItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}">
            <Setter Property="DefaultImageSrc" Value="Leg-icon.png"/>
        </Style>
        <Style x:Key="StationItemContainerStyle" TargetType="{x:Type telerik:RadTreeViewItem}">
            <Setter Property="DefaultImageSrc" Value="Station-icon.png" />
            <Setter Property="telerik:RadContextMenu.ContextMenu" Value="{StaticResource ResourceKey=ContextMenu}" />
            <EventSetter Event="TreeViewItem.PreviewMouseRightButtonDown" Handler="TreeViewItemStation_PreviewMouseRightButtonDown"/>
        </Style>
        <Local:TreeExplorerContainStyleSelector x:Key="myContainerStyleSelector"
                                                VoyageStyle="{StaticResource VoyageItemContainerStyle}"
                                                LegStyle="{StaticResource LegItemContainerStyle}"
                                                StationStyle="{StaticResource StationItemContainerStyle}"/>
    </Control.Resources>
    <Grid>
        <telerik:RadTreeView x:Name="ExplorerTreeView"
                            VerticalAlignment="Stretch"
                            HorizontalAlignment="Stretch"
                            IsRootLinesEnabled="True"
                            MinHeight="200"                            
                            IsLoadOnDemandEnabled="True"
                            ImagesBaseDir="/Images/Icons/"                            
                            BorderBrush="SkyBlue"
                            BorderThickness="2"
                            ItemsSource="{Binding TreeExplorerDataSource, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                            ItemTemplate="{StaticResource Voyage}"
                            ItemPrepared="ExplorerTreeView_ItemPrepared"                               
                            ItemContainerStyleSelector="{StaticResource myContainerStyleSelector}"
                            LoadOnDemand="ExplorerTreeView_LoadOnDemand">
        </telerik:RadTreeView>
    </Grid>
</UserControl>

 

使用系统自带的contextmenu则需要在treeview上绑定,并在后台控制。

转载于:https://www.cnblogs.com/super86/archive/2012/10/31/2748736.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值