Я реализую шаблон MVVM и хочу разработать свой интерфейс с помощью Wizard Control из набора инструментов WPF (Xceed.Wpf.Toolkit).
То, что я хотел бы сделать, это связать источник элементов для мастера с List<ViewModelBase>
и использовать DataTemplate
, чтобы отобразить его как страницу. Пока нет радости. : - (
Я урезал свой код настолько, насколько это возможно, но вот суть этого.
Мой взгляд XAML:
<xctk:Wizard FinishButtonClosesWindow="True" ItemsSource="{Binding Pages}" />
Шаблон моих данных:
<DataTemplate DataType="{x:Type vm:ViewModelBase}">
<xctk:WizardPage Title="{Binding DisplayName}" Description="{Binding DisplayDescription}"/>
</DataTemplate>
В файлах cs:
ВМ, свойство, возвращающее список, определено:
public List<ViewModelBase> Pages
В app.xaml.cs:
var viewModel = new ViewModels.winMainViewModel();
winMain window = new winMain();
window.DataContext = viewModel;
window.Show();
Выдается ошибка:
Исключение System.NotSupportedException было обработано HResult = -2146233067
Сообщение = мастер должен содержать только страницы мастера.
Источник = Xceed.Wpf.Toolkit
Любая помощь будет принята с благодарностью.
ТИА,
Ray