Я работаю над приложением WPF, которое разработано с использованием шаблона MVVM.MainWindow имеет несколько пользовательских элементов управления, которые открываются при выполнении действия.Тем не менее, я хочу закрыть Usercontrol после завершения действий и при нажатии кнопки.Я посмотрел в нескольких местах, но пока мне не повезло.Любая помощь будет оценена.
Следует отметить, что мой вопрос является дубликатом этого:
Закрыть представление из ViewModel
Но этона самом деле это не так, поскольку этот поток говорит о закрытии окна, мой - о закрытии UserControl.
Добавление некоторого кода, чтобы прояснить это:
Это ItemsControl в первом UserControl, который содержитвторой Usercontrol:
<Grid x:Name="UserControlGrid" Width="Auto" Height="auto" Margin="0,0,0,0">
<ItemsControl ItemsSource="{Binding ViewsToShow}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid IsItemsHost="True" Width="auto" Height="auto"></Grid>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Grid>
Теперь, чтобы открыть второй UserControl, в первой UserControl ViewModel я делаю это:
private ObservableCollection<ObservableObject> viewsToShow = new ObservableCollection<ObservableObject>();
public ObservableCollection<ObservableObject> ViewsToShow
{
get
{
return viewsToShow;
}
set
{
viewsToShow = value;
OnPropertyChanged("ViewsToShow");
}
}
ViewsToShow.Add(new SecondUserControlViewModel());
Спасибо