空格字符未保存在Settting.Default StringCollection

时间:2019-05-02 01:25:50

标签: c# wpf

我在wpf应用程序设置中创建了一个StringCollection类, 像这样的数组:

' ', 'a', 'b', 'c' ...

但是当我从代码中获得这些设置并一一打印时,它会打印出来:

'', 'a', 'b', 'c' ...

空格字符丢失。

所以我看着.config文件是这样的:

...
<value>
    <ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        <string />
        <string>a</string>
        <string>b</string>
        <string>b</string>
    </ArrayOfString>
</value>
...

我将<string />更改为<string><![CDATA[ ]]></string>,然后它按照我想要的方式工作。

但是问题是当用户添加另一个值,并且程序再次使用Settings.Default.Save();保存该值时

<string><![CDATA[ ]]></string>

转回

<string />
再次

。问题:有没有一种方法可以使用.config将所有数据保存在<![CDATA[ ]]>文件中?

或者还有其他方法可以用代码在.config文件中存储空格字符吗?

编辑1)<string>&#x20;</string><string>&#32;</string>打印''

编辑2)在xml:space="preserve"中添加属性ArrayOfString似乎可以使它起作用,但是该属性也会在Settings.Default.Save();上消失

0 个答案:

没有答案