Премахване на UserControl (WPF)

В winforms обикновено правя Parent.Controls.Remove(this);, за да накарам UserControl да се премахне. Това не работи за wpf. Моят контрол има бутон за премахване на целия UserControl, някакви идеи как да постигна това в wpf? Благодаря предварително


person Josh    schedule 23.11.2010    source източник
comment
искате ли да премахнете userocntrol, в който е бутонът? какъв тип е родителският контейнер?   -  person Arsen Mkrtchyan    schedule 23.11.2010
comment
бихте ли предоставили XAML маркировка, за да стане ясно?   -  person Pavel Morshenyuk    schedule 23.11.2010
comment
@ArsenMkrt - Stackpanel е родителят, но бих предпочел да запазя контрола общ и да не се ограничава до родителски тип.   -  person Josh    schedule 23.11.2010


Отговори (1)


Ще трябва да знаете типа на свойството Parent, за да премахнете себе си от вашия родителски контрол.

Всички родителски типове панели (Grid, WrapPanel, StackPanel) имат свойството Children:

т.е. за Grid:

((Grid)button.Parent).Children.Remove(this);

ContentControls (Button, ContentControl, Border) имат съдържание:

т.е. за бутон:

((Button)control.Parent).Content = null;
person Arcturus    schedule 23.11.2010
comment
Ааа! Виждам, благодаря! Мисля, че кастингът към базовия тип на панела е по-скоро общо прилягане :) - person Josh; 23.11.2010