我已经四处寻找答案,但潜在的重复更关注的是演示而不是互动 .
我有一个基本的列表框,每个项目的内容都是一个简单的字符串 .
ListBox本身被拉伸以填充它的网格容器,但每个ListBoxItem的hitarea不会镜像ListBox宽度 . 看起来每个项目的hitarea(指针接触区域)只是文本内容的宽度 . 无论文本大小如何,如何将这种拉伸完全展开 .
我已将HorizontalContentAlignment设置为Stretch,但这并不能解决我的问题 . 我唯一的另一个猜测是内容实际上是拉伸,但背景是不可见的,所以不捕捉鼠标指针 .
<ListBox
Grid.Row="1"
x:Name="ProjectsListBox"
DisplayMemberPath="Name"
ItemsSource="{Binding Path=Projects}"
SelectedItem="{Binding Path=SelectedProject}"
HorizontalContentAlignment="Stretch"/>
XAML非常直接 . 如果我将鼠标悬停在其中一个项目中的文本上,则该项目的整个宽度将变为活动状态 . 我想我只需要知道如何创建一个看不见的交互式背景 .
2 回答
此外,将Fredrik 's answer, if you set the ListBox' s
ScrollViewer.HorizontalScrollBarVisibility
属性添加到Disabled
,项目将始终具有ListBox的客户端宽度 .应在ItemContainerStyle中设置
HorizontalContentAlignment="Stretch"
以使其生效 .Xaml Example
Update
试试这个