45 c# wpf xaml listbox selecteditem
我有一个wpf列表框,显示一个文本框列表.当我单击文本框时,列表框选择不会更改.我必须单击TextBox旁边的以选择列表框项.是否需要为Textbox设置一些属性以将click事件转发到Listbox?
Arc*_*rus 42
我们使用以下样式来设置PreviewGotKeyboardFocus,它处理TextBox控件和ComboBoxes的所有事件,如下所示:
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="PreviewGotKeyboardFocus" Handler="SelectCurrentItem"/>
</Style>
</ListView.ItemContainerStyle>
Run Code Online (Sandbox Code Playgroud)
然后我们在后面的代码中选择行:
protected void SelectCurrentItem(object sender, KeyboardFocusChangedEventArgs e)
{
ListViewItem item = (ListViewItem) sender;
item.IsSelected = true;
}
Run Code Online (Sandbox Code Playgroud)
小智 37
请务必使用适当的TargetType:ListViewItem,ListBoxItem或TreeViewItem.
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="IsKeyboardFocusWithin" Value="true">
<Setter Property="IsSelected" Value="true" />
</Trigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
我没有足够的代表发表评论,所以我发表评论作为答案.Grazer的上述解决方案不适用于您需要另一个控件Button
的情况SelectedItem
.这是因为按照Style Trigger
,IsKeyboardFocusWithin
当你点击它时变为假Button
,并且SelectedItem
变为空.
归档时间: |
|
查看次数: |
27832 次 |
最近记录: |