Ala*_*an2 0 c# xamarin xamarin.forms
我有这个C#代码用于填充手机屏幕上的标签.请注意,这里不使用HTML源代码.
c1Label.Text = "To select cards for your deck you can one of a number of options •
Run Code Online (Sandbox Code Playgroud)
和这个XAML
<local:JustifiedLabel x:Name="c1Label" Text= "To select cards for your deck you can one of a number of options •
Run Code Online (Sandbox Code Playgroud)
前者显示 作为文本的一部分,但XAML版本工作正常并将其显示为换行符后跟子弹.
这是可以预料的.两种语言(C#和XML)都有不同的规则,特别是关于哪些字符是"特殊的"以及当你想要使用它们时必须如何转义它们.在C#字符串中
" •"
Run Code Online (Sandbox Code Playgroud)
只是那些字母,因为它们对C#编译器没有特殊意义.在XML中,它们是数字字符引用,并且是包含任意字符的转义机制.
相反,在C#中如下
"\n \u2022"
Run Code Online (Sandbox Code Playgroud)
代表换行符和子弹.但在XML中,它只是所写的确切字符.
你可以用几乎任何两种不同的语言构建无穷无尽的例子.是的,这意味着您不能只从一种语言复制文本,并期望它用另一种语言表示相同的字符串.如果你正在将一种语言转换成另一种语言,那么很容易以编程方式处理,当你手动复制东西时,你只需要忍受这种情况并相应地进行调整.