Как привязать visibility для кнопки SelectedItem в ListBox?

У каждого элемента ListBox есть текст и кнопка удаления, мне нужно сделать, чтобы кнопка удаления была доступна только в случае, если выбран соответствующий элемент.

<ListBox Grid.Row="1" ItemsSource="{Binding CartProducts }"
                 SelectedItem="{Binding SelectedCart}"
                 x:Name="listboxcarts">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal" >
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="230"/>
                                <ColumnDefinition Width="1100"/>
                            </Grid.ColumnDefinitions>
                            <Image Source="{Binding Product.Image}" Grid.Column="0"/>
                            <StackPanel Grid.Column="1" Orientation="Horizontal">
                                <TextBlock Text="{Binding Product.Name}" FontSize="16" FontWeight="Medium" 
                                           Foreground="White" Margin="70,0,0,0" VerticalAlignment="Center"/>
                                <TextBlock Text="{Binding Size, StringFormat=Size: {0}}" FontSize="16" FontWeight="Medium" 
                                           Foreground="White" Margin="70,0,0,0" VerticalAlignment="Center"/>
                                <TextBlock Text="{Binding Amount, StringFormat=Amount: {0}}" FontSize="16" FontWeight="Medium" 
                                           Foreground="White" Margin="70,0,0,0" VerticalAlignment="Center"/>
                                <Button Background="#B0E0E6" Content="Remove" Margin="50,0,0,0" 
                                        Command="{Binding DataContext.DeleteFromCart, ElementName=listboxcarts}"
                                        CommandParameter="{Binding SelectedItem, ElementName=listboxcarts}"
                                        Visibility="{Binding DataContext.Btn_Update_Visibility, ElementName=listboxcarts}"/>
                            </StackPanel>
                        </Grid>
                    </StackPanel>
                </DataTemplate>

            </ListBox.ItemTemplate>
        </ListBox>
        private Cart selectedCart;
        public Cart SelectedCart
        {
            get { return selectedCart; }
            set
            {
                selectedCart = value;
                OnPropertyChanged(nameof(SelectedCart));
                btn_update_visiblity = "Visible";
                OnPropertyChanged(nameof(Btn_Update_Visibility));

            }
        }
        

        private string btn_update_visiblity = "Hidden";
        public string Btn_Update_Visibility
        {
            get { return btn_update_visiblity; }
            set
            {
                btn_update_visiblity = value;
                OnPropertyChanged("Btn_Update_Visibility");
            }
        }

Пока получается вот так, но проблема в том, что при выборе элемента ListBox доступными становятся кнопки всех элементов.


Ответы (0 шт):