【问题标题】:Selected item is null when listview looses focus当列表视图失去焦点时,所选项目为空
【发布时间】:2014-04-06 13:40:53
【问题描述】:

我在 wpf 中遇到了 listview 的问题。这就是我所拥有的:

<ListView Style="{DynamicResource VirtualisedMetroListView}" SelectedItem="{Binding SelectedCode}" ....... >
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="SelectionChanged">
                        <toolkit:EventToCommand Command="{Binding SelectionChangedCommand}" PassEventArgsToCommand="True"></toolkit:EventToCommand>
                    </i:EventTrigger>
                </i:Interaction.Triggers>
                <ListView.Resources>
                    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent" />
                    <SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black" />
                </ListView.Resources>
                <ListView.CacheMode>
                    <BitmapCache/>
                </ListView.CacheMode>
                <ListView.ItemContainerStyle>
                    <Style TargetType="{x:Type ListViewItem}">
                        <Style.Triggers>
                            <Trigger Property="IsKeyboardFocusWithin" Value="True">
                                <Setter Property="IsSelected" Value="True"></Setter>
                            </Trigger>
                        </Style.Triggers>
                    </Style>
                </ListView.ItemContainerStyle>
            </ListView>

我还有一个带有几个按钮的功能区,例如:

<fluent:RibbonTabItem Header="Try me" Visibility="Visible" Name="cxtTab" >
                <fluent:RibbonGroupBox Header="general">
                    <Button  ContentTemplate="{StaticResource addNewTemplate}"/>                        
                </fluent:RibbonGroupBox>
            </fluent:RibbonTabItem>

现在,我正在使用 MVVM Light,并且绑定了 Listview SelectedItem,但是当我单击功能区中的按钮时, selectedITem 为空,因此我无法删除该项目。

知道即使单击其他元素(在本例中为功能区),我如何维护 selectedItem ?

提前致谢。

【问题讨论】:

  • 我不明白所选项目的绑定位置..
  • 绑定到对应的视图模型

标签: c# wpf mvvm-light


【解决方案1】:

删除这个

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

【讨论】:

  • 这部分解决了我的问题,但现在我还有一个 eheh。由于我的列表视图有文本框和组合框,我希望在单击它们时选择项目...
猜你喜欢
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-20
  • 1970-01-01
  • 1970-01-01
  • 2014-05-29
  • 1970-01-01
相关资源
最近更新 更多