テンプレートを編集してItemContainerStyleテンプレートに入ると、状態はUnselected、Selected、MouseOverなどのように定義されますが、これらの状態では実際には何も行われません。この動作は正常ですか?私はSilverlightリストボックスで作業しました。その中で、ItemContainerStyleはすべての状態を定義し、多くのプロパティが変更されます。 WPFリストボックスはほとんど混乱しません。これは私がItemContainerStyleの編集XAMLで参照してください:WPFリストボックスのItemContainerStyle状態に何も定義されていないのはなぜですか?
<Style x:Key="ListBoxItemContainerStyle" TargetType="{x:Type ListBoxItem}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/>
<Setter Property="Padding" Value="2,0,0,0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true" >
<VisualStateManager.VisualStateGroups>
<VisualStateGroup x:Name="CommonStates">
<VisualState x:Name="Normal"/>
<VisualState x:Name="MouseOver"/>
<VisualState x:Name="Disabled"/>
</VisualStateGroup>
<VisualStateGroup x:Name="SelectionStates">
<VisualState x:Name="Unselected"/>
<VisualState x:Name="Selected"/>
<VisualState x:Name="SelectedUnfocused"/>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
ここに与えられただけのContentPresenterがあります。マウスオーバーが完了したときにグラデーションを変更したい。私はまた、アイテムのサイズをスケールしたい。それ、どうやったら出来るの?事前に
感謝:)
MouseOverでは、背景を「スナップ」で変更したいだけですか、変更をアニメーション化したいですか? – XAMeLi