В стиле WPF, как вызвать триггер для доступа к элементу элемента, к которому он привязан - PullRequest
2 голосов
/ 09 октября 2008

Ниже приведен простой стиль для ListBoxItem, ListBoxItem имеет дочернюю границу. Граница имеет свойство Padding со значением 8, я хочу изменить значение на 0, когда элемент выбран. Как я могу написать триггер?

    <??Style TargetType="{x:Type ListBoxItem}">
        <Setter Property="Background" Value="Transparent" />
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ListBoxItem}" >
                    <Border 
                        SnapsToDevicePixels="True" 
                        HorizontalAlignment="Center" 
                        VerticalAlignment="Center"
                        Padding = "8"
                        Background="{TemplateBinding Background}">
                        <ContentPresenter />
                    </Border>
                    <ControlTemplate.Triggers>
                        <Trigger Property="IsSelected" Value="True">
                            ??<Setter Property="Padding" Value="0" />??   <----How Can I do this?
                        </Trigger>
                    </ControlTemplate.Triggers>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    <??/Style>

1 Ответ

6 голосов
/ 09 октября 2008

Попробуйте присвоить Border имя (используя, например, x: Name = "border1"), затем используйте TargetName свойство Setter, например:

<Setter TargetName="border1" Property="Padding" Value="0" />

Не уверен, что он будет работать в таком шаблоне элемента управления, но попробуйте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...