В 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 - панель стека является родительской, но я бы предпочел, чтобы элемент управления был общим и не ограничивался родительским типом.
- person Josh   schedule 23.11.2010
Ответы (1)
Вам нужно будет знать тип свойства Parent
, чтобы удалить себя из родительского контроля.
Все родительские элементы типа Panel (Grid, WrapPanel, StackPanel) имеют свойство Children
:
то есть для сетки:
((Grid)button.Parent).Children.Remove(this);
ContentControls (Button, ContentControl, Border) имеют содержимое:
то есть для кнопки:
((Button)control.Parent).Content = null;
person
Arcturus
schedule
23.11.2010
Ааа! Ясно спасибо! Я думаю, что приведение к базовому типу Panel больше подходит, хотя :)
- person Josh; 23.11.2010