【问题标题】:Access to Combobox properties out of its GroupStyle.HeaderTemplate从 GroupStyle.HeaderTemplate 访问 Combobox 属性
【发布时间】:2010-11-06 11:34:44
【问题描述】:

我为 Combobox.GroupStyle 制作了一些 HeaderTemplate 以便在组中显示项目。并且知道当用户单击 GroupHeader 时我需要对 Combobox 进行一些操作。我试图在我的 HedaerTemplate 中为 Combobox.GroupStyle 编写一个触发器,但它不起作用。下面是组合框的完整代码:

<ComboBox x:Name="comboBox" DisplayMemberPath="Type"
              HorizontalAlignment="Center" VerticalAlignment="Top"
              Margin="5" MinWidth="100">
        <ComboBox.GroupStyle>
            <GroupStyle>
                <GroupStyle.HeaderTemplate>
                    <DataTemplate>
                        <TextBlock Text="{Binding Path=Name}"
                                   FontWeight="Bold"
                                   Margin="0,5,0,0"
                                   Padding="3" Background="LightGreen" MouseDown="TextBlock_MouseDown">
                        </TextBlock>
                        <DataTemplate.Triggers>
                            <EventTrigger RoutedEvent="TextBlock.MouseDown">
                                <EventTrigger.Actions>
                                    <BeginStoryboard>
                                        <Storyboard>
                                           <DoubleAnimation Storyboard.Target="{Binding  RelativeSource ={RelativeSource TemplatedParent}}"
                                                             From="0" Storyboard.TargetProperty="Width"
                                                                To="300" Duration="0:0:5"/>
                                        </Storyboard>
                                    </BeginStoryboard>
                                </EventTrigger.Actions>
                            </EventTrigger>
                        </DataTemplate.Triggers>
                    </DataTemplate>

                </GroupStyle.HeaderTemplate>
            </GroupStyle>
        </ComboBox.GroupStyle>
     </ComboBox>

我以属性“宽度”为例。但它没有正常工作。动画扩展 GroupHeader,而不是整个 ComboBox。

【问题讨论】:

    标签: wpf xaml combobox groupstyle


    【解决方案1】:

    您的 TemplateBinding 绑定到应用模板的项目,即标题。也许您需要将绑定设置为

    {Binding RelativeSource={RelativeSource FindAncestor, AncestorType=ComboBox}}
    

    ?

    (抱歉,我自己没有尝试代码。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-17
      • 2018-05-12
      • 2012-04-15
      • 2013-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多