Я пытаюсь изменить видимость элемента управления в шаблоне ListBoxItem (на основе его, выбранного в родительском списке) через ChangePropertyAction, но приведенный ниже код не работает. Я попытался поиграться с установкой TargetName на триггере или установкой видимости элемента управления по умолчанию через стиль. Я отладил привязку через DebugConvert и проверил, что IsSelected правильно установлено в true, но все равно не работает. Кто-нибудь может объяснить мне, почему это не работает и как я могу это исправить?
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding PersonalData.LastName}" FontSize="20" FontWeight="Bold" Grid.Column="0"/>
<TextBlock FontSize="20" Text="{Binding PersonalData.FirstName}" Grid.Column="1" />
<StackPanel x:Name="buttonStackPanel" Orientation="Horizontal" Grid.Column="2" Visibility="Collapsed">
<Interactivity:Interaction.Triggers>
<ei:DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}, Mode=FindAncestor}, Path=IsSelected, Converter={StaticResource DebugConverter}}">
<ei:ChangePropertyAction PropertyName="Visibility">
<ei:ChangePropertyAction.Value>
<Visibility>Visible</Visibility>
</ei:ChangePropertyAction.Value>
</ei:ChangePropertyAction>
</ei:DataTrigger>
</Interactivity:Interaction.Triggers>
<Button Content="Do Something"></Button>
</StackPanel>
</Grid>
[...]