Доступ к свойствам Combobox из его GroupStyle.HeaderTemplate - PullRequest
0 голосов
/ 06 ноября 2010

Я сделал несколько HeaderTemplate для Combobox.GroupStyle для отображения элементов в группах.И знаете, мне нужно выполнить некоторые операции с Combobox, когда пользователь нажимает на GroupHeader.Я попытался написать триггер в моем 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.

1 Ответ

0 голосов
/ 06 ноября 2010

Ваша привязка к шаблону привязывается к элементу, к которому применяется шаблон, то есть к заголовку.Возможно, вам нужно установить привязку как

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

?

(Извините, я сам не пробовал код.)

...