/ / Usuwanie kontrolki użytkownika poprzez kliknięcie na nim przycisku - c #, xaml, kontrolki użytkownika, winrt-xaml

Usuwanie kontroli użytkownika poprzez kliknięcie na przycisk - c #, xaml, kontrole użytkownika, winrt-xaml

Mam GridView, który pokazuje pewne elementy w nim. Każdy element ma w nim przycisk edycji, naciśnięcie przycisku edycji ładuje kontrolkę użytkownika obok elementu. Ten kontroler użytkownika ma w nim przycisk zamykania, naciśnięcie przycisku zamykania usuwa kontrolkę użytkownika. GridView z elementami (niebieskie prostokąty)

GridView po kliknięciu przycisku edycji na elemencie (niebieskie prostokąty) i załadowaniu kontrolki użytkownika (czerwony kolor prostokąta)

Niebieskie prostokąty reprezentują elementy wgridview. Po kliknięciu przycisku różowego dodawania kontrolka użytkownika koloru czerwonego ładuje się. Teraz, po kliknięciu przycisku zamknięcia na czerwonym prostokącie, powinien on usunąć czerwony kolor i powrócić do stanu pierwotnego. Dodałem usercontrol za pomocą selektora szablonów i działa poprawnie. Ale przycisk zamykania nie usuwa go. Próbowałem usunąć następujące podejście:

(GridView)this.Parent).Items.Remove(this);

Po dodaniu punktu przerwania, a następnie sprawdzeniu, stwierdziłem, że this.Parent ma wartość NULL. Utknąłem. Jak mam postępować? Używam c #, xaml, winrt, visual studio 2012

Odpowiedzi:

0 dla odpowiedzi № 1

Jeśli chcesz opracować drzewo wizualne, spróbuj tego:

var _Parent = VisualTreeHelper.GetParent(sender as UserControl) as GridView;
_Parent.Items.Remove(sender as UserControl);

Ale usuwanie elementów z GridView powinno być wykonywane poprzez manipulowanie ObservableCollection związaną z ItemsSource GridView w ViewModel. Nie tak, pewnie ...