У меня есть ListBox, как этоListBox SelectionChanged Не розжига
<ListBox Grid.ColumnSpan="4"
Grid.Column="1"
Grid.Row="7"
Grid.RowSpan="2"
Style="{DynamicResource ProductListBoxStyle}"
ItemTemplate="{DynamicResource ProductItemTemplate}"
ItemsSource="{Binding RelatedProducts}"
ItemsPanel="{DynamicResource ProductListItemsPanelTemplate}"
SelectedItem="{Binding SelectedProduct,Mode=TwoWay}"
Padding="-12,0,0,0"
IsHitTestVisible="True"
ItemContainerStyle="{DynamicResource ProductListItemContainerStyle}"
x:Name=MyListBox >
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction Command="{Binding SelectionChangedCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
, когда я нажимаю тот же пункт снова SelectionChanged
событие не стрельбы.
Так я добавил кнопку Внутри моей DataTemplate Как это
<DataTemplate x:Key="ProductItemTemplate">
<Button Command="{Binding DataContext.SelectionChangedCommand,ElementName=MyListBox}">
<StackPanel Width="240">
<Grid Width="Auto"
Height="Auto"
VerticalAlignment="Stretch"
Background="White">
<Image Source="/Assets/ProductCardBg.png"
Width="Auto"
Height="Auto" />
<Image Source="{Binding ThumbImage}"
Width="207"
Height="216" />
</Grid>
<TextBlock Text="{Binding Name}"
Margin="0,5,0,0"
Style="{StaticResource SWMRegularTextBlockStyle}"
FontSize="{StaticResource VerySmallFontSize}" />
<TextBlock Text="{Binding Description}"
Style="{StaticResource SWMLightTextBlockStyle}"
FontSize="{StaticResource SmallFontSize}" />
<TextBlock Text="{Binding Price}"
Style="{StaticResource SWMRegularTextBlockStyle}"
FontSize="{StaticResource SmallFontSize}" />
</StackPanel>
</Button>
</DataTemplate>
Но моя проблема в том, когда я выбираю пункт Команда не выполняется. Мне нужно щелкнуть Outside of StackPanel, а затем выполнить только команду. Но мне нужно выполнить команду всякий раз, когда я нажимаю элемент.
Пожалуйста, помогите мне, спасибо заранее.
'SelectionChanged' означает выбор * измененный *. Открытие/закрытие ListBox без изменения выбора не приведет к его запуску. Я не совсем уверен, что вы пытаетесь выполнить с помощью кнопки ... – canton7
@ canton7 SelectionChanged Событие не срабатывает, когда я снова выбираю один и тот же элемент. Чтобы избавиться от этой вещи, я добавил кнопку внутри элемента Itemtemplate. Однако кнопка кнопки не выполняется, когда я нажимаю «Я», но если я нажму на углы элемента означает Выполнение команды –