0

RadTreeView在 WPF 中使用 Kendo Telerik 控件。我有每个功能RadTreeViewItem,我需要显示一个按钮,我可以做到。

现在每个旁边的按钮RadTreeViewItem将具有需要打开弹出窗口并传递当前节点数据的事件/命令。

我已经尝试使用按钮单击事件后面的代码,它工作正常。但根据要求,我们应该只使用命令而不是事件后面的代码。

这是我添加按钮的代码..

<HierarchicalDataTemplate x:Key="BuildingStructure"
                              ItemsSource="{Binding StructureLevels}"
                              ItemContainerStyle="{StaticResource levelNodeStyle}">

        <Grid HorizontalAlignment="Stretch">
            <Grid.ColumnDefinitions>
                <ColumnDefinition  Width="3*"/>
                <ColumnDefinition  Width="*"/>
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" 
                       Width="250"
                       Text="{Binding Name}" 
                       HorizontalAlignment="Left"/>
            <Button
                Panel.ZIndex="100"
                BorderThickness="0"
                BorderBrush="Transparent"
                Background="Black"
                Grid.Column="1"
                VerticalAlignment="Stretch"
                Margin="0 2 0 5">
                <Image
                    Width="20"
                    Height="20"
                   Source="/Project;component/Resources/Images/03-Add.png"/>

                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="MouseLeftButtonDown">
                        <i:InvokeCommandAction Command="{Binding TestRadTreeCommand}"/>
                    </i:EventTrigger>
                </i:Interaction.Triggers>

            </Button>
        </Grid>
    </HierarchicalDataTemplate>

请检查图片以供参考:

在此处输入图像描述

提前致谢...!!

4

1 回答 1

0

TheButton有一个Command属性,所以没有理由使用 anEventTrigger和 anInvokeCommandAction来处理MouseLeftButtonDown事件。

如果TestRadTreeCommand在视图模型中定义,即 的DataContextTreeView您可以像这样绑定到它:

<Button
    Panel.ZIndex="100"
    BorderThickness="0"
    BorderBrush="Transparent"
    Background="Black"
    Grid.Column="1"
    VerticalAlignment="Stretch"
    Margin="0 2 0 5"
    Command="{Binding DataContext.TestRadTreeCommand, RelativeSource={RelativeSource AncestorType=TreeView}}">
    <Image Width="20"
           Height="20"
           Source="/CCRIS;component/Resources/Images/03-Add.png"/>
</Button>
于 2019-05-20T13:11:10.340 回答