I've been stumbling all over this all day and need some direction. I've paired down my code and am posting it in hopes that someone can tell me what I'm doing wrong.
The xaml...
The ViewModel...
Thanks in advance,
Steve
The xaml...
<
telerik:RadGridView
AutoGenerateColumns
=
"False"
ItemsSource
=
"{Binding Screens}"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewComboBoxColumn
x:Name
=
"ScreenTypeCombo"
UniqueName
=
"ScreenTypeCombo"
Header
=
"Screen Type"
Width
=
"150"
DataMemberBinding
=
"{Binding SelectedScreenType}"
SelectedValueMemberPath
=
"ScreenType"
DisplayMemberPath
=
"Literal"
ItemsSourceBinding
=
"{Binding ScreenTypeLiterals}"
/>
</
telerik:RadGridView.Columns
>
The ViewModel...
public enum ScreenTypes
{
Master,
Vertical,
Multicolumn,
Wrap,
Detail,
Transaction,
Notes
}
public class ScreenTypeLiteral
{
public ScreenTypes ScreenType
{
get;
set;
}
public String Literal
{
get;
set;
}
public ScreenTypeLiteral(ScreenTypes type, String lit)
{
ScreenType = type;
Literal = lit;
}
}
public class ScreenDescriptor
{
public ICollectionView ScreenTypeLiterals
{
get
{
return _ScreenTypeLiterals;
}
set
{
_ScreenTypeLiterals = value;
OnPropertyChanged(() => ScreenTypeLiterals);
}
}
private ICollectionView _ScreenTypeLiterals;
public ScreenTypeLiteral SelectedScreenType
{
get
{
return ScreenTypeLiterals.CurrentItem as ScreenTypeLiteral;
}
}
public ScreenDescriptor()
{
ScreenTypeLiterals = CollectionViewSource.GetDefaultView(new List<
ScreenTypeLiteral
>()
{
{new ScreenTypeLiteral(ScreenTypes.Master, "Master View")},
{new ScreenTypeLiteral(ScreenTypes.Vertical, "Detail View")},
});
ScreenTypeLiterals.MoveCurrentToFirst();
}
}
public class Descriptor
{
public ICollectionView Screens
{
get
{
return _screens;
}
set
{
_screens = value;
OnPropertyChanged(() => Screens);
}
}
private ICollectionView _screens = null;
public Descriptor()
{
var list = new List<
ScreenDescriptor
>();
list.Add(new ScreenDescriptor());
list.Add(new ScreenDescriptor());
Screens = CollectionViewSource.GetDefaultView(list);
Screens.MoveCurrentToFirst();
}
}
Thanks in advance,
Steve