当对事件使用Caliburn.Micro短手语法时,如何传递Enum (通过ValueConvertor)?
<MenuItem Header="Open" cal:Message.Attach="[Event Click]=[Action ShowDesigner(<what goes here ?>,'False')]"/>其中的ShowDesigner方法系统是
ShowDesigner(eReportType,bool)我已经写好了StringToEnumValueconvertor。
更新
EnumConvertor如下所示
public class StringToEnumConvertor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return Enum.Parse(typeof(eReportingTool), (string)value);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}当枚举看起来像
public enum eReportingTool
{
StimulsoftReports = 1,
FastReport
}发布于 2018-02-02 08:12:49
您不需要转换器从字符串转换为枚举,只需将枚举项作为字符串传递即可。
cal:Message.Attach="[Event Click]=[Action ShowDesigner('StimulsoftReports','false')"https://stackoverflow.com/questions/48577369
复制相似问题