В winforms обикновено правя Parent.Controls.Remove(this);
, за да накарам UserControl да се премахне. Това не работи за wpf. Моят контрол има бутон за премахване на целия UserControl, някакви идеи как да постигна това в wpf? Благодаря предварително
Премахване на UserControl (WPF)
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
Ааа! Виждам, благодаря! Мисля, че кастингът към базовия тип на панела е по-скоро общо прилягане :)
- person Josh; 23.11.2010