This is my class that implements IValueConverter:
[ValueConversion(typeof(int), typeof(Priority))]
public class PriorityConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (Priority) (int) value;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
It seems that this line of code throws an InvalidCastException:
return (Priority) (int) value;
(Priority being an enum) I put a breakpoint at the start of the method and the value of "value" is int:4 so I have no idea why this exception is being thrown. Here are resources (where app_data="clr-namespace:AssignmentOrganizer.App_Data"):
<app_data:PriorityConverter x:Key="PriorityConverter" />
<app_data:KindConverter x:Key="KindConverter" />
Here is the implementation:
<gridview:GridViewDataColumn Header="Priority" Width="100" DataMemberBinding="{Binding Priority, Converter={StaticResource PriorityConverter}}" />
<gridview:GridViewDataColumn Header="Kind" Width="100" DataMemberBinding="{Binding Kind, Converter={StaticResource KindConverter}}" />