zoukankan      html  css  js  c++  java
  • 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上绑定,并在后台控制。

  • 相关阅读:
    Json.Net学习笔记(八) 序列化的回调方法
    PowerDesigner 使用的一些技巧(转)
    Json.Net学习笔记(十三) 缩小序列化Json的大小
    Json.Net学习笔记(十四) JSON的部分序列化
    MSDTC服务配置 今天碰到的情况
    Json.Net学习笔记(十一) CustomCreationConverter
    让工作自动化
    Json.Net学习笔记(十二) 协议解析
    Json.Net学习笔记(九) 异常处理
    通过PB认证
  • 原文地址:https://www.cnblogs.com/super86/p/2748736.html
Copyright © 2011-2022 走看看