【发布时间】:2016-09-02 22:01:44
【问题描述】:
我遇到了设计问题,我知道必须有办法让它发挥作用。我在这里尝试了解决方案:Annoying auto scroll of partially displayed items in WPF ListView
但他们没有为我工作,因为我不允许在代码隐藏中工作。
我有来自 wpf ListBox 的项目列表。像这样:
当我尝试在第 5 行选择 CheckBox 时,Window 以它为中心但不检查它。经过进一步测试,我发现只要项目的底部边框不在视图中,它就不会选择CheckBox。
这是ListBox 及其Style 的xaml:
<ListBox Grid.Column="0" Grid.Row="1" Name="RequestCheckoutV"
ItemsSource="{Binding Path=CheckoutVM, Mode=TwoWay, IsAsync=True}"
SelectedItem="{Binding Path=SelectedPermit}"
BorderThickness="0"
KeyboardNavigation.TabNavigation="Continue">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="KeyboardNavigation.IsTabStop" Value="False" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Control.HorizontalContentAlignment" Value="Center"/>
<Setter Property="Control.VerticalContentAlignment" Value="Top"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}" >
<ContentPresenter />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
我能做些什么来使它选中复选框而不是仅仅居中? 任何帮助表示赞赏。
【问题讨论】:
-
如果需要其他信息,请告诉我。我将提供解决问题所需的一切。
-
在不告诉我为什么不帮助我的情况下给问题一个负面的观点。如果问题有问题,请告诉我,以便我解决。谢谢。
-
将
ClickMode="Press"属性添加到 CheckBox 以实现 HitTestVisibility -
成功了,克里斯!将其添加为解决方案,以便我可以给您赏金
-
我知道伙计,我试图让你保持你的观点。 :)
标签: c# wpf xaml checkbox listbox