通常,您可以通过在代码中手动更改数据类型来在应用程序设置中创建一个数组。但是,System.Drawing.Color似乎是一个例外。您可以像往常一样将其添加到代码中,甚至可以让您像图形编辑器一样在其他设置中编辑值。虽然序列化数据似乎存在问题,随后丢失。.NET应用程序设置:制作一组颜色值
然后,我在想着代码编辑器方法已在它得到了一个错误的地方,所以这种尝试在设置文件:
<Setting Name="ChannelColour" Type="System.Drawing.Color[]" Scope="User">
<Value Profile="(Default)"><?xml version="1.0" encoding="utf-16"?>
<ArrayOfColor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<color>Cyan</color>
<color>DarkOrange</color>
<color>Magenta</color>
<color>LawnGreen</color>
</ArrayOfColor>
</Value>
</Setting>
并同样的app.config:
<setting name="ChannelColour" serializeAs="Xml">
<value>
<ArrayOfColor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<color>Cyan</color>
<color>DarkOrange</color>
<color>Magenta</color>
<color>LawnGreen</color>
</ArrayOfColor>
</value>
</setting>
然后,我没有触及编辑器,并确保任何现有的配置文件在哪里。它仍然没有工作。
为什么其他数组可以正常工作,并且颜色值本身就是默认选项之一,但组合根本无法工作?