通常,您可以通過在代碼中手動更改數據類型來在應用程序設置中創建一個數組。但是,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>
然後,我沒有觸及編輯器,並確保任何現有的配置文件在哪裏。它仍然沒有工作。
爲什麼其他數組可以正常工作,並且顏色值本身就是默認選項之一,但組合根本無法工作?