o to, co chciałbym zrobić. Dostaję Listę obiektów z bazy danych i przypisuję tę listę do Kontrolki ListBox. Elementy ListBoxItems składają się z pola tekstowego i przycisku. Oto, co wymyśliłem. Do tego momentu działa zgodnie z przeznaczeniem. Obiekt ma wiele właściwości, takich jak identyfikator, nazwa. Jeśli kliknę na przycisk w ListBoxItem Item powinny być usunięte z pola listy, a także z bazy danych ...WPF - Jak uzyskać obiekt, który jest związany z ListBoxItem z powrotem
<ListBox x:Name="taglistBox">
<ListBox.ItemContainerStyle>
<Style TargetType="{x:Type ListBoxItem}">
<Setter Property="HorizontalAlignment" Value="Stretch"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<ContentPresenter HorizontalAlignment="Stretch"/>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Tag" Value="{Binding TagSelf}"></Setter>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<Grid HorizontalAlignment="Stretch">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button Grid.Column="0" Name="btTag" VerticalAlignment="Center" Click="btTag_Click" HorizontalAlignment="Left">
<Image Width="16" Height="16" Source="/WpfApplication1;component/Resources/104.png"/>
</Button>
<TextBlock Name="tbtagBoxTagItem" Margin="5" Grid.Column="1" Text="{Binding Name}" VerticalAlignment="Center" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Textblock.Text jest związany object.Name i ListBoxItem.Tag sprzeciwić. TagSelf (który jest po prostu kopią samego obiektu).
teraz moje pytania
Gdybym kliknij na ListBoxItem jak mogę uzyskać ListBoxItem i przedmiot związany z nim z powrotem. Aby usunąć obiekt z bazy danych, muszę go jakoś odzyskać. Próbowałem coś takiego jak
ListBoxItem lbi1 =
(ListBoxItem) (taglistBox.ItemContainerGenerator.ContainerFromItem (taglistBox.Items.CurrentItem)); ObjectInQquestion t = (ObjectInQquestion) lbi1.Tag;Czy istnieje sposób na automatyczną aktualizację zawartości ListBox, jeśli zmieni się źródło pozycji? Teraz osiągam to przez
taglistBox.ItemsSource = null;
taglistBox.ItemsSource = ObjectInQquestion;
będę wdzięczny za każdą pomoc można podać: D góry dzięki