Стиль ItemContainer удаляет отступы при указании шаблона - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть этот сложный шаблон для моего RadListBox, который является Telerik Component.Мне нужно установить множество триггеров на ItemContainerStyle, но я хочу удалить заполнение, объясненное здесь .Пример отлично работает, если вы только установите ContentPresenter, но в моем случае этого недостаточно, поскольку у меня Triggers

Мой ItemContainerStyle выглядит следующим образом:

<telerik:RadListBox.ItemContainerStyle>
                            <Style TargetType="telerik:RadListBoxItem">
                                <Setter Property="IsEnabled" Value="{Binding IsDisabled, Converter={StaticResource BoolInverseConverter}}"/>

                                <Setter Property="Template">
                                    <Setter.Value>
                                        <ControlTemplate TargetType="telerik:RadListBoxItem">
                                            <DockPanel>
                                                <Separator x:Name="Separator" DockPanel.Dock="Top" BorderBrush="Gray" BorderThickness="1"/>
                                                <Border BorderThickness="{TemplateBinding Border.BorderThickness}" Padding="{TemplateBinding Control.Padding}" BorderBrush="{TemplateBinding Border.BorderBrush}"
                                                Background="{TemplateBinding Panel.Background}" Name="Bd" SnapsToDevicePixels="True">

                                                    <ContentPresenter Content="{TemplateBinding ContentControl.Content}" ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
                                                              ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}" 
                                                              HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}"
                                                              VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}" 
                                                              SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}"/>
                                                </Border>
                                            </DockPanel>
                                            <ControlTemplate.Triggers>
                                                <DataTrigger Binding="{Binding RelativeSource={RelativeSource PreviousData}}" Value="{x:Null}">
                                                    <Setter Property="Visibility" TargetName="Separator" Value="Collapsed"/>
                                                </DataTrigger>

                                                <Trigger Property="IsSelected" Value="true">
                                                    <Setter TargetName="Bd" Property="Background" Value="#2a579a"/>
                                                    <Setter Property="TextElement.Foreground" TargetName="Bd" Value="White"/>
                                                </Trigger>

                                                <MultiTrigger>
                                                    <MultiTrigger.Conditions>
                                                        <Condition Property="Selector.IsSelectionActive" Value="False"/>
                                                        <Condition Property="Selector.IsSelected" Value="True"/>
                                                    </MultiTrigger.Conditions>
                                                    <Setter Property="Panel.Background" TargetName="Bd"  Value="Black"/>
                                                    <Setter Property="Border.BorderBrush" TargetName="Bd">
                                                        <Setter.Value>
                                                            <SolidColorBrush>#FFDADADA</SolidColorBrush>
                                                        </Setter.Value>
                                                    </Setter>
                                                </MultiTrigger>
                                                <MultiTrigger>
                                                    <MultiTrigger.Conditions>
                                                        <Condition Property="Selector.IsSelectionActive" Value="True"/>
                                                        <Condition Property="Selector.IsSelected" Value="True"/>
                                                    </MultiTrigger.Conditions>
                                                    <Setter Property="Panel.Background" TargetName="Bd" Value="#2a579a"/>
                                                    <Setter Property="TextElement.Foreground" TargetName="Bd" Value="White"/>
                                                    <Setter Property="Border.BorderBrush" TargetName="Bd">
                                                        <Setter.Value>
                                                            <SolidColorBrush>#FF26A0DA</SolidColorBrush>
                                                        </Setter.Value>
                                                    </Setter>
                                                </MultiTrigger>
                                                <Trigger Property="UIElement.IsMouseOver" Value="True">
                                                    <Setter Property="Panel.Background" TargetName="Bd" Value="#2a579a"/>
                                                    <Setter Property="TextElement.Foreground" TargetName="Bd" Value="White"/>
                                                    <Setter Property="Border.BorderBrush" TargetName="Bd">
                                                        <Setter.Value>
                                                            <SolidColorBrush>#A826A0DA</SolidColorBrush>
                                                        </Setter.Value>
                                                    </Setter>
                                                </Trigger>
                                                <Trigger Property="UIElement.IsEnabled" Value="False">
                                                    <Setter Property="TextElement.Foreground" TargetName="Bd" Value="LightGray">
                                                    </Setter>
                                                    <Setter Property="Panel.Background" TargetName="Bd" Value="Transparent"/>
                                                    <Setter Property="TextElement.FontWeight" Value="Normal"/>

                                                </Trigger>
                                                <Trigger Property="UIElement.IsEnabled" Value="True">
                                                    <Setter Property="TextElement.FontWeight" Value="Normal"/>
                                                </Trigger>
                                            </ControlTemplate.Triggers>
                                        </ControlTemplate>
                                    </Setter.Value>
                                </Setter>
                            </Style>
                        </telerik:RadListBox.ItemContainerStyle>

Как можноЯ удаляю отступы для каждого элемента в моем ListBox в этом конкретном случае?

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