UWP中Run中字符中包含多余空格[已解决]

840 查看

下面听我慢慢讲来

1.先是有这样的需求微博原文
x:Bind的时候支持这样写就好了,免得再去代码里去拼字符串。

<StackPanel>
  <TextBlock Text="发布于{x:Bind PublishDate}" />
  <TextBlock Text="评论({x:Bind Comments})" />
  <TextBlock Text="{x:Bind Views}人浏览" />
<StackPanel/>

2.改良后

<StackPanel>
  <TextBlock Text="发布于">
    <Run Text="{x:Bind PublishDate}" />
  </TextBlock>
  <TextBlock Text="评论">
    <Run Text="(" />
    <Run Text="{x:Bind Comments}" />
    <Run Text=")" />
  </TextBlock>
<TextBlock>
    <Run Text="{x:Bind Views}" />
    <Run Text="人浏览" />
  </TextBlock>
<StackPanel/>

20160618210608.png


改良后到是满足了上面的的需求,可是仔细一看发现评论的括号变成了中文状态下的括号(开始以为Run会自动转换为中文状态下的字符,但是仔细一想不会这么变态吧,尝试了各种方法依然不行只好在万能的微博上求助)。


20160618210748.png

20160618210717.png

3.在微博求助后解决

                    <StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0,5,0,0">
                        <TextBlock Text="{x:Bind SourceName}" />
                        <TextBlock Text="发表于">
                            <Run Text="{x:Bind PublishDate}" />
                        </TextBlock>
                        <SymbolIcon Symbol="Comment" Margin="5,0,5,0" />
                        <TextBlock Text="评论(">
                            <Run Text="{x:Bind Comments}" /><Run Text=")" />
                        </TextBlock>
                        <SymbolIcon Symbol="View" Margin="5,0,5,0" />
                        <TextBlock>
                            <Run Text="{x:Bind Views}"/>
                            <Run  Text="人浏览"/>
                        </TextBlock>
                    </StackPanel>

20160618212300.png


感谢@韦恩卑鄙,@H数字君

END