我有一个本地化资源(如here所述)来表示控件上的FlowDirection,并且它在所有其他本地化字符串等方面都很有效。
Resources.designer.cs:
/// <summary>
/// Looks up a localized string similar to RightToLeft.
/// </summary>
public static string enumDirection {
get {
return ResourceManager.GetString("enumDirection", resourceCulture);
}
}
Xaml中的用法:
<StackPanel FlowDirection="{Loc enumDirection}">
唯一的问题是我不能再使用设计器了,因为它显示了以下错误消息:
ArgumentException:''不是属性'FlowDirection'的有效值。
栈跟踪
在System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp,Object value,PropertyMetadata metadata,Boolean coerceWithDeferredReference,Boolean coerceWithCurrentValue,OperationType operationType,Boolean isInternal)
在System.Windows.DependencyObject.SetValue(DependencyProperty dp,Object value)
在Soheil.Common.Localization.LocalizedDependencyProperty.SetValue(对象值)
在Soheil.Common.Localization.LocalizedValue.UpdateValue()
在Soheil.Common.Localization.LocExtension.b__0(对象x)
在System.Windows.Threading.ExceptionWrapper.InternalRealCall(委托回调,对象args,Int32 numArgs)
在MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source,Delegate方法,Object args,Int32 numArgs,Delegate catchHandler)InnerException:无
这不起作用:
public static string enumDirection {
get {
var tmp = ResourceManager.GetString("enumDirection", resourceCulture);
return string.IsNullOrEmpty(tmp) ? "RightToLeft" : tmp;
}
}
所以我尝试添加一些属性(EditorAttribute和DefaultValue)让设计者在设计师时间内知道enumDirection的默认值。但我无法使它发挥作用。
如何摆脱该错误消息?