【问题标题】:How to set a Trigger on a child to a parent property?如何将孩子的触发器设置为父属性?
【发布时间】:2011-03-10 16:27:31
【问题描述】:

我有一个带有 ToggleButton ( ExpanderButton ) 的 TreeView。切换按钮有两张图片(一张用于展开,一张未展开)。但是,当我选择 TreeViewItem 时,我会用不同的颜色突出显示它,并且我也想更改图像的颜色(我在另一种颜色中有相同的颜色)。

问题是我不知道如何将 ToggleButton 上的触发器属性设置为 TreeViewItem 上的 IsSelected 属性。

有什么想法吗?

【问题讨论】:

  • 我猜使用RelativeSource 的DataBinding 是正确的方法。尽管我一直在搜索,但在我发布后几秒钟就发现了。只是没有使用正确的搜索词组。

标签: xaml binding treeview triggers togglebutton


【解决方案1】:

如果其他人需要,请在这里。

<ControlTemplate TargetType="ToggleButton">
                <Image Name="ExpanderImage" Height="24" Width="24" Source="..\Images\Icons\32x32\Blue\Open.png" />
                <ControlTemplate.Triggers>
                    <Trigger Property="IsChecked" Value="True">
                        <Setter TargetName="ExpanderImage" Property="Source" Value="..\Images\Icons\32x32\Blue\Close.png" />
                    </Trigger>
                    <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}}" Value="True">
                        <Setter TargetName="ExpanderImage" Property="Source" Value="..\Images\Icons\32x32\Green\Open.png" />
                    </DataTrigger>
                    <MultiDataTrigger>
                        <MultiDataTrigger.Conditions>
                            <Condition Binding="{Binding Path=IsChecked, RelativeSource={RelativeSource Self}}" Value="True" />
                            <Condition Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource TemplatedParent}}" Value="True" />
                        </MultiDataTrigger.Conditions>
                        <Setter TargetName="ExpanderImage" Property="Source" Value="..\Images\Icons\32x32\Green\Close.png" />
                    </MultiDataTrigger>
                </ControlTemplate.Triggers>
            </ControlTemplate>

【讨论】:

    猜你喜欢
    • 2013-04-09
    • 2012-11-23
    • 1970-01-01
    • 2023-03-29
    • 2021-12-11
    • 2013-08-30
    • 2012-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多