0

我可以设置一个类似这样的触发器吗?

<Style x:Key="ContextMenuSelector" TargetType="{x:Type TreeView}">
    <Style.Triggers>
        <Trigger Property="SelectedItem.Tag" Value="MyTag">
            <Setter Property="ContextMenu" Value="{StaticResource MyTagContextMenu}"><!-- change context menu depending on selected item --></Setter>
        </Trigger>
        <!-- Other triggers depending on the value of the SelectedItem's Tag -->
    </Style.Triggers>
</Style>

我希望能够根据所选项目的标签更改树视图的 ContextMenu。但是,上面的代码无法编译,因为似乎Property="SelectedItem.Tag"不允许嵌套属性 like。任何想法?

4

1 回答 1

0

SelectedItem 是对象类型http://msdn.microsoft.com/en-us/library/system.windows.controls.primitives.selector.selecteditem.aspx但标签是 FrameworkElement 类型的属性。要指定 SelectedItem 类型,请尝试使用 Property="(FrameworkElement.SelectedItem).Tag"

http://msdn.microsoft.com/en-us/library/ms742451.aspx请参阅关于类型限定的部分

于 2012-11-21T06:39:35.957 回答