我想让列表框中的悬停项目增加其字体大小,以便在用户浏览项目时获得某种“滚动效果”。我不知道如何去做这件事。我的列表框看起来像这样增加WPF列表框中的悬停元素的字体大小
<ListBox Name="ListBox" ItemsSource="{Binding MyList}" DisplayMemberPath="Property1">
感谢
我想让列表框中的悬停项目增加其字体大小,以便在用户浏览项目时获得某种“滚动效果”。我不知道如何去做这件事。我的列表框看起来像这样增加WPF列表框中的悬停元素的字体大小
<ListBox Name="ListBox" ItemsSource="{Binding MyList}" DisplayMemberPath="Property1">
感谢
您应该能够使用触发器来做到这一点。像这样的东西
<ListBox Name="ListBox" ItemsSource="{Binding MyList}" DisplayMemberPath="Property1">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="TextBlock.FontSize" Value="18"/>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Meleak的答案是如何去做你所问的。但是当你这样做时,你会发现整个列表框是在你改变其中一个成员的字体大小的时候被布置的,这可能是不可取的。你可以尝试,而不是设置字体大小,将缩放变换:
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="RenderTransform">
<Setter.Value>
<ScaleTransform ScaleX="2" ScaleY="2"/>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
</ListBox.ItemContainerStyle>
由于这是一个RenderTransform
(而不是LayoutTransform
),它不会影响列表框的布局。还有其他问题(比如,你需要处理项目的背景,因为它们在重叠时会重叠),但是值得尝试。
谢谢,很好! – Alex 2010-12-14 08:39:28