我有一个自定义类型,它有几个GridLength
属性。此类型是用户设置的一部分。保存设置后,我的设置文件如下所示:
<MavEditor xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RightSideWidth />
<LeftSideWidth />
<BottomSideHeight />
其中RightSideWidth
,LeftSideWidth
和BottomSideHeight
为GridLength
在保存设置之前,我知道它们的值不是Auto
,但看起来像XML序列化程序忽略了这个事实。
我做错了什么?
答案 0 :(得分:0)
我选择了这种快速又肮脏的解决方案。可以,但是会导致性能问题。
public GridLength Height
{
// Create the "GridLength" from the separate properties
get => new GridLength(this.Height_Value, (GridUnitType)Enum.Parse(typeof(GridUnitType), this.Height_GridUnitType));
set
{
// store the "GridLength" properties in separate properties
this.Height_GridUnitType = value.GridUnitType.ToString();
this.Height_Value = value.Value;
}
}
public string Height_GridUnitType { get; set; }
public double Height_Value{ get; set; }