【问题标题】:Need to ignore formatting characters [duplicate]需要忽略格式化字符[重复]
【发布时间】:2019-09-24 16:37:40
【问题描述】:

我在 WPF TextBlock 中显示了一个文件夹路径,但应用了格式化字符导致:

c:    est

而不是

c:\test

有没有办法禁用控件上的所有格式,以便我可以按预期显示?

<TextBlock  Text="{Binding Name}" Style="{StaticResource StatusText}"/>

【问题讨论】:

    标签: c# filepath string-literals


    【解决方案1】:

    该问题与 WPF 无关。您似乎在您的应用程序中使用了字符串文字,例如

    string s = "C:\test";
    

    这样,选项卡实际上是您在源文件中声明的字符串的一部分。

    您需要使用verbatim string literal

    string s = @"C:\test";
    

    或使用双反斜杠来转义反斜杠字符。

    string s = "C:\\test";
    

    【讨论】:

    • 问题是我通过从 json 读取和反序列化来设置字符串:using (StreamReader r = new StreamReader("Data/backups.json")) { string json = r.ReadToEnd(); results = JsonConvert.DeserializeObject&lt;List&lt;BackupSet&gt;&gt;(json); }
    • @StratMan 那么 JSON 已经错了。 JSON 必须包含双反斜杠。否则在 JSON 中,\t 已经是一个制表符,而不是反斜杠,后跟 t
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 2018-04-05
    相关资源
    最近更新 更多