也许转换您的数据在呈现为用户的观点和转换回你的域将解决你的问题。 下面是我的示例代码,用于将Enumeration演示文稿转换为我的项目中的本地化资源: 虽然它不是一个优雅的代码,但也许可以解决您的问题。 在转换你可以拆分你的加入您的加入号码的汇编,并将其设置为您的控制和转换回用字符串拆分字符串,并建立您的收藏。
[MarkupExtensionReturnType(typeof (IValueConverter))]
public abstract class ConverterMarkupExtension<T> : MarkupExtension where T : class, IValueConverter, new()
{
private static T _converter;
public override object ProvideValue(IServiceProvider serviceProvider)
{
return _converter ?? (_converter = new T());
}
}
public class EnumConverter<T> : ConverterMarkupExtension<EnumConverter<T>>, IValueConverter
where T : struct
{
#region Implemented Interfaces
#region IValueConverter
/// <summary>
/// convert from enum to string
/// </summary>
/// <param name = "value"></param>
/// <param name = "targetType"></param>
/// <param name = "parameter"></param>
/// <param name = "culture"></param>
/// <returns></returns>
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return null;
}
string convert = typeof(GlossaryResources).GetProperty(value.ToString()).GetValue(null, null).ToString();
return new Item { Name = value.ToString(), Value = convert };
}
/// <summary>
/// convert from string to enum value
/// </summary>
/// <param name = "value"></param>
/// <param name = "targetType"></param>
/// <param name = "parameter"></param>
/// <param name = "culture"></param>
/// <returns></returns>
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
{
return null;
}
T enumvalue;
Enum.TryParse(value.Cast<Item>().Name, out enumvalue);
return enumvalue;
}
#endregion
#endregion
}
public class GenderEnumConverter : EnumConverter<Gender>
{
}
我刚刚在德尔福的Oracle讲话中提出了您的问题。她耸了耸肩,看着我这样说,当你认为自己说的是正确的话时,女人会这样做,但很可能会导致公司在未来20年内堕落。 – 2010-11-27 22:23:46
hee .............? – gruber 2010-11-28 11:01:42