wpf Wizard Toolkit ItemsSource binding to a List
up vote
2
down vote
favorite
I am implementing the MVVM pattern and wish to design my interface using the Wizard Control from the WPF ToolKit (Xceed.Wpf.Toolkit).
What I would like to do is bind the Items Source for the Wizard to a List<ViewModelBase> and use a DataTemplate to display it as a page. So far, no Joy. :-(
I have trimmed my code as much as possible but here is the meat of it.
My view XAML:
<xctk:Wizard FinishButtonClosesWindow="True" ItemsSource="{Binding Pages}" />
My Data template:
<DataTemplate DataType="{x:Type vm:ViewModelBase}">
<xctk:WizardPage Title="{Binding DisplayName}" Description="{Binding DisplayDescription}"/>
</DataTemplate>
In the cs files:
the the VM, the property returning the list is defined:
public List<ViewModelBase> Pages
In the app.xaml.cs:
var viewModel = new ViewModels.winMainViewModel();
winMain window = new winMain();
window.DataContext = viewModel;
window.Show();
The error that is thrown is:
System.NotSupportedException was unhandled HResult=-2146233067
Message=Wizard should only contain WizardPages.
Source=Xceed.Wpf.Toolkit
Any help would be greatly appreciated.
TIA,
Ray
c# wpf wpftoolkit toolkit xceed
add a comment |
up vote
2
down vote
favorite
I am implementing the MVVM pattern and wish to design my interface using the Wizard Control from the WPF ToolKit (Xceed.Wpf.Toolkit).
What I would like to do is bind the Items Source for the Wizard to a List<ViewModelBase> and use a DataTemplate to display it as a page. So far, no Joy. :-(
I have trimmed my code as much as possible but here is the meat of it.
My view XAML:
<xctk:Wizard FinishButtonClosesWindow="True" ItemsSource="{Binding Pages}" />
My Data template:
<DataTemplate DataType="{x:Type vm:ViewModelBase}">
<xctk:WizardPage Title="{Binding DisplayName}" Description="{Binding DisplayDescription}"/>
</DataTemplate>
In the cs files:
the the VM, the property returning the list is defined:
public List<ViewModelBase> Pages
In the app.xaml.cs:
var viewModel = new ViewModels.winMainViewModel();
winMain window = new winMain();
window.DataContext = viewModel;
window.Show();
The error that is thrown is:
System.NotSupportedException was unhandled HResult=-2146233067
Message=Wizard should only contain WizardPages.
Source=Xceed.Wpf.Toolkit
Any help would be greatly appreciated.
TIA,
Ray
c# wpf wpftoolkit toolkit xceed
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am implementing the MVVM pattern and wish to design my interface using the Wizard Control from the WPF ToolKit (Xceed.Wpf.Toolkit).
What I would like to do is bind the Items Source for the Wizard to a List<ViewModelBase> and use a DataTemplate to display it as a page. So far, no Joy. :-(
I have trimmed my code as much as possible but here is the meat of it.
My view XAML:
<xctk:Wizard FinishButtonClosesWindow="True" ItemsSource="{Binding Pages}" />
My Data template:
<DataTemplate DataType="{x:Type vm:ViewModelBase}">
<xctk:WizardPage Title="{Binding DisplayName}" Description="{Binding DisplayDescription}"/>
</DataTemplate>
In the cs files:
the the VM, the property returning the list is defined:
public List<ViewModelBase> Pages
In the app.xaml.cs:
var viewModel = new ViewModels.winMainViewModel();
winMain window = new winMain();
window.DataContext = viewModel;
window.Show();
The error that is thrown is:
System.NotSupportedException was unhandled HResult=-2146233067
Message=Wizard should only contain WizardPages.
Source=Xceed.Wpf.Toolkit
Any help would be greatly appreciated.
TIA,
Ray
c# wpf wpftoolkit toolkit xceed
I am implementing the MVVM pattern and wish to design my interface using the Wizard Control from the WPF ToolKit (Xceed.Wpf.Toolkit).
What I would like to do is bind the Items Source for the Wizard to a List<ViewModelBase> and use a DataTemplate to display it as a page. So far, no Joy. :-(
I have trimmed my code as much as possible but here is the meat of it.
My view XAML:
<xctk:Wizard FinishButtonClosesWindow="True" ItemsSource="{Binding Pages}" />
My Data template:
<DataTemplate DataType="{x:Type vm:ViewModelBase}">
<xctk:WizardPage Title="{Binding DisplayName}" Description="{Binding DisplayDescription}"/>
</DataTemplate>
In the cs files:
the the VM, the property returning the list is defined:
public List<ViewModelBase> Pages
In the app.xaml.cs:
var viewModel = new ViewModels.winMainViewModel();
winMain window = new winMain();
window.DataContext = viewModel;
window.Show();
The error that is thrown is:
System.NotSupportedException was unhandled HResult=-2146233067
Message=Wizard should only contain WizardPages.
Source=Xceed.Wpf.Toolkit
Any help would be greatly appreciated.
TIA,
Ray
c# wpf wpftoolkit toolkit xceed
c# wpf wpftoolkit toolkit xceed
edited Nov 12 at 21:55
orhtej2
1,6171715
1,6171715
asked Nov 12 at 21:49
Ray Hastie
325
325
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
This is apparently not supported as you can see in the source code: https://github.com/xceedsoftware/wpftoolkit/blob/master/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
I am afraid you can only bind to an IEnumerable<Xceed.Wpf.Toolkit.WizardPage>.
add a comment |
up vote
1
down vote
Thank you for that response.
Last night I tried playing around with an IConverter class with no luck (yet)
Due to pending deadlines, I decided to write a simple conversion property.
public List<WizardPage> wizPages
{
get
{
List<WizardPage> rtn = new List<WizardPage>();
foreach (ViewModelBase vmb in Pages)
{
rtn.Add(new WizardPage()
{ Title = vmb.DisplayName
, Description = vmb.DisplayDescription
, DataContext = vmb
}); // rtn.Add
} // foreach (ViewModelBase vmb in Pages)
return rtn;
}
}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
This is apparently not supported as you can see in the source code: https://github.com/xceedsoftware/wpftoolkit/blob/master/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
I am afraid you can only bind to an IEnumerable<Xceed.Wpf.Toolkit.WizardPage>.
add a comment |
up vote
1
down vote
accepted
This is apparently not supported as you can see in the source code: https://github.com/xceedsoftware/wpftoolkit/blob/master/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
I am afraid you can only bind to an IEnumerable<Xceed.Wpf.Toolkit.WizardPage>.
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
This is apparently not supported as you can see in the source code: https://github.com/xceedsoftware/wpftoolkit/blob/master/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
I am afraid you can only bind to an IEnumerable<Xceed.Wpf.Toolkit.WizardPage>.
This is apparently not supported as you can see in the source code: https://github.com/xceedsoftware/wpftoolkit/blob/master/ExtendedWPFToolkitSolution/Src/Xceed.Wpf.Toolkit/Wizard/Implementation/Wizard.cs
I am afraid you can only bind to an IEnumerable<Xceed.Wpf.Toolkit.WizardPage>.
edited Nov 13 at 14:39
answered Nov 13 at 9:39
mm8
79.6k81731
79.6k81731
add a comment |
add a comment |
up vote
1
down vote
Thank you for that response.
Last night I tried playing around with an IConverter class with no luck (yet)
Due to pending deadlines, I decided to write a simple conversion property.
public List<WizardPage> wizPages
{
get
{
List<WizardPage> rtn = new List<WizardPage>();
foreach (ViewModelBase vmb in Pages)
{
rtn.Add(new WizardPage()
{ Title = vmb.DisplayName
, Description = vmb.DisplayDescription
, DataContext = vmb
}); // rtn.Add
} // foreach (ViewModelBase vmb in Pages)
return rtn;
}
}
add a comment |
up vote
1
down vote
Thank you for that response.
Last night I tried playing around with an IConverter class with no luck (yet)
Due to pending deadlines, I decided to write a simple conversion property.
public List<WizardPage> wizPages
{
get
{
List<WizardPage> rtn = new List<WizardPage>();
foreach (ViewModelBase vmb in Pages)
{
rtn.Add(new WizardPage()
{ Title = vmb.DisplayName
, Description = vmb.DisplayDescription
, DataContext = vmb
}); // rtn.Add
} // foreach (ViewModelBase vmb in Pages)
return rtn;
}
}
add a comment |
up vote
1
down vote
up vote
1
down vote
Thank you for that response.
Last night I tried playing around with an IConverter class with no luck (yet)
Due to pending deadlines, I decided to write a simple conversion property.
public List<WizardPage> wizPages
{
get
{
List<WizardPage> rtn = new List<WizardPage>();
foreach (ViewModelBase vmb in Pages)
{
rtn.Add(new WizardPage()
{ Title = vmb.DisplayName
, Description = vmb.DisplayDescription
, DataContext = vmb
}); // rtn.Add
} // foreach (ViewModelBase vmb in Pages)
return rtn;
}
}
Thank you for that response.
Last night I tried playing around with an IConverter class with no luck (yet)
Due to pending deadlines, I decided to write a simple conversion property.
public List<WizardPage> wizPages
{
get
{
List<WizardPage> rtn = new List<WizardPage>();
foreach (ViewModelBase vmb in Pages)
{
rtn.Add(new WizardPage()
{ Title = vmb.DisplayName
, Description = vmb.DisplayDescription
, DataContext = vmb
}); // rtn.Add
} // foreach (ViewModelBase vmb in Pages)
return rtn;
}
}
answered Nov 13 at 14:53
Ray Hastie
325
325
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53270610%2fwpf-wizard-toolkit-itemssource-binding-to-a-list%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown