Listbox.ItemContainerStyle选定的项目

托比亚斯·莫·托斯滕森

我有一个列表框,ItemContainerStyle其中描述了列表框中每个元素的样式。看起来像这样:

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem" BasedOn="{StaticResource MyStyle}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate>
                    <Border BorderThickness="0,0,0,1" BorderBrush="#1f000000"  Padding="16 8">
                        <Button Command={Binding MyCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=lists:MyControl}}}" />
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</ListBox.ItemContainerStyle>

事实是,当我单击此按钮时,我想知道SelectedItem列表框中的,该列表框绑定在我的ViewModel中。除非我先选择该项目,否则不会触发此选择。

有任何想法吗?

只读存储器

您需要使用触发器来强制IsSelected:

 <Style.Triggers>
       <Trigger Property="IsKeyboardFocusWithin" Value="True">
                 <Setter Property="IsSelected" Value="True"/>
       </Trigger>
 </Style.Triggers>

这是一个完整的工作示例:

 <ListBox x:Name="ListBox" ItemsSource="{Binding SomeList}" SelectedItem="{Binding SelectedListElement, Mode=TwoWay}" IsSynchronizedWithCurrentItem="True" >
    <ListBox.ItemContainerStyle>
            <Style TargetType="ListBoxItem" >
                <Style.Triggers>
                    <Trigger Property="IsKeyboardFocusWithin" Value="True">
                        <Setter Property="IsSelected" Value="True"/>
                    </Trigger>
                </Style.Triggers>
                <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <Border BorderThickness="0,0,0,1" BorderBrush="#1f000000"  Padding="16 8">
                                <Button Command="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBox}},
                                Path=DataContext.Run}" CommandParameter="{Binding}"  Height="30" Width="100"/>
                        </Border>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ListBox.ItemContainerStyle>
 </ListBox>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从GridView将项目添加到ListBox

来自分类Dev

<ListBox.Resources>或<ListBox.ItemContainerStyle>中的ListBoxItem样式?

来自分类Dev

ListBox上的项目显示为类名

来自分类Dev

ListBox中的项目不会自动更新

来自分类Dev

WPF同步ListBox的项目大小

来自分类Dev

从数据绑定的ListBox获取选定的项目

来自分类Dev

TKinter ListBox项目高度

来自分类Dev

MVC ListBox选定的值

来自分类Dev

Caliburn Micro Listbox上下移动项目

来自分类Dev

如何添加不同的ListBox项目WPF

来自分类Dev

防止选择Winforms ListBox中的某些项目

来自分类Dev

根据用户操作显示/隐藏ListBox项目

来自分类Dev

ListBox取消选择项目

来自分类Dev

以编程方式更改ListBox项目背景颜色

来自分类Dev

Listbox.items [i] .Selected仅捕获第一个选定的项目

来自分类Dev

如何将所有选定的项目从ListBox放入EditBox?

来自分类Dev

如何将项目添加到选定的Listbox1项目中的另一个Listbox2项目中?

来自分类Dev

DataTrigger不会更改ListBox的ItemContainerStyle中的模板

来自分类Dev

<ListBox.Resources>或<ListBox.ItemContainerStyle>中的ListBoxItem样式?

来自分类Dev

使用选定的项目创建ListBox MsgBox

来自分类Dev

绑定后在ListBox中添加项目或从ListBox中删除项目

来自分类Dev

在WPF MVVM模式中更改ListBox MVVM的ItemContainerStyle

来自分类Dev

遍历所有ListBox的选定项目,然后转移到一个ListBox

来自分类Dev

通过将List <String,Int32>的键绑定到ListBox并将选定的项目值绑定到ComboBox

来自分类Dev

WPF从数据绑定listBox中的选定项目嵌套的属性

来自分类Dev

ListBox取消选择项目

来自分类Dev

WPF ListBox项目命令绑定

来自分类Dev

排序C#ListBox项目

来自分类Dev

ListBox 获取选定的索引?

Related 相关文章

热门标签

归档