Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf SelectionChanged事件未引发_Wpf_Events_Selecteditem_Selectionchanged - Fatal编程技术网

Wpf SelectionChanged事件未引发

Wpf SelectionChanged事件未引发,wpf,events,selecteditem,selectionchanged,Wpf,Events,Selecteditem,Selectionchanged,是否有办法修复选择更改事件的已知错误,如果再次点击同一项,则选择不起作用 为了进一步说明背景,我的场景是,我的透视页面中有四个项目,当我单击其中一个项目时,我将被导航到另一个页面。现在我的困境是,当我再次选择相同的项目时,导航不起作用或者什么都没有发生 请让我知道你的建议修复,非常感谢提前 <ListBox x:Name="lbviewlist" ItemsSource="{Binding items}"> <i:Interaction.Tr

是否有办法修复选择更改事件的已知错误,如果再次点击同一项,则选择不起作用

为了进一步说明背景,我的场景是,我的透视页面中有四个项目,当我单击其中一个项目时,我将被导航到另一个页面。现在我的困境是,当我再次选择相同的项目时,导航不起作用或者什么都没有发生

请让我知道你的建议修复,非常感谢提前

  <ListBox x:Name="lbviewlist" ItemsSource="{Binding items}">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="selectionchanged">
                        <Command:EventToCommand Command ="{Binding ItemListCommand }" PassEventArgsToCommand="True"  />
                    </i:EventTrigger>
                </i:Interaction.Triggers>
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock TextWrapping="Wrap" Text="{Binding itemName}"   FontSize="30"  Margin="10,0,0,0" Style="{StaticResource PhoneTextTitle2Style}" Foreground="CadetBlue"/>
                            <TextBlock TextWrapping="Wrap" Text="{Binding itemDescription}"   FontSize="20"  Margin="15,5,0,10"/>
                          </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>

一个好的替代方法是将每个项目中的所有内容都包含在一个按钮内,该按钮的样式为不可见,因此您永远看不到它,但它覆盖了它封装的项目的表面。如果您使用的是MVVM,则可以将相同的命令属性绑定到每个“按钮”,并将按钮(数据项)的DataContext绑定到命令参数。然后,每当您单击某个项目时,每次都会触发该命令。
您可能希望将items控件更改为简单的控件,以便选择更改的事件不会妨碍您。

这不是一个bug,
SelectedChanged
完全按照它应该做的做,它在选择更改时激发,如果选择了相同的元素,它没有更改,因此不会激发。您可能需要使用项目或列表框上的一个MouseEvents来处理此问题itself@sa_ddam213请教我怎么做?我只是这个领域的新手,不知怎么的,我很难理解这个概念。你的意思是我应该将选择更改事件更改为鼠标事件吗?顺便问一下,我正在使用MVVM。如何将按钮中的所有项目都包括在内并使其不可见?请看我上面的XAML,我可以将内容放在按钮中,但是事件没有触发?有什么想法吗?只是想澄清一下,我们这里讨论的是按钮“点击”事件,而不是组合框的“选择更改”事件。