ComboBoxItem의 스타일을 가져와서 수정하면서 해보고있는데
이제 테스트 하다보니 궁금한점이 있어서 질문드립니다.
<Style x:Key="{x:Type ComboBoxItem}"
TargetType="{x:Type ComboBoxItem}">
<Setter Property="SnapsToDevicePixels"
Value="true" />
<Setter Property="OverridesDefaultStyle"
Value="true" />
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ComboBoxItem}">
<Border x:Name="Border"
MinHeight="22"
Padding="2"
SnapsToDevicePixels="true"
Background="{StaticResource clComboBoxBasedBackground}" BorderBrush="#020B11" BorderThickness="0,0,0,1">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected" />
<VisualState x:Name="Selected">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetName="Border" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
<EasingColorKeyFrame KeyTime="0" Value="#101318" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
<VisualState x:Name="SelectedUnfocused">
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"
Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)">
<EasingColorKeyFrame KeyTime="0" Value="Transparent" />
</ColorAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsFocused" Value="True">
<Setter Property="BorderBrush" TargetName="Border" Value="{StaticResource clButtonMouseOverBorderBrush}"/>
<Setter Property="BorderThickness" TargetName="Border" Value="1"/>
<Setter Property="Foreground" Value="{StaticResource clButtonMouseOverBorderBrush}"/>
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="BorderBrush" TargetName="Border" Value="{StaticResource clButtonMouseOverBorderBrush}"/>
<Setter Property="BorderThickness" TargetName="Border" Value="1"/>
<Setter Property="Foreground" Value="{StaticResource clButtonMouseOverBorderBrush}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
현재 기본 템플을 수정해서 위에 ComboboxItem을 사용하고 있습니다
-
ComboboxItem에서 이제 안에 있는 Item중에 가장 아래있는 Item의 Border의 밑에 부분만 CornerRadius 를 주고싶은데 혹시 Trigger에 마지막을 확인 할 수있는 트리거가 있을까요?
-
Trigger 중에 가장 자주 쓰는게 IsMouseOver, IsEnabled, IsPressed 인데 여러 컨트롤에 Trigger를 주다보면 IsPressed 는 가끔 멤버를 인식할 수 없다고 나오는데 이건 그 컨트롤에서 지원을 안 하기 때문에 못 하는 건가요?
-
ComboBoxItem을 편 상태에서 키보드를 누르면 Border의 테두리가 점선으로 바뀌는 걸 해결 할 방법이 없을까요?
-
혹시 CheckBox나 RadioButton 같은 컨트롤에서 마지막으로 누른걸 Trigger로 찾을 수 있나요?