UWP ContentControl在其内容中不显示空格
我试图在stackpanel中添加内容控件,如下面的代码片段所示UWP ContentControl在其内容中不显示空格,uwp,whitespace,behavior,Uwp,Whitespace,Behavior,我试图在stackpanel中添加内容控件,如下面的代码片段所示 <StackPanel Orientation="Horizontal" > <ContentControl Content="Test 1"/> <ContentControl Content=" ### "/> <ContentControl Content="Test 2"/> </StackPanel> 在上面
<StackPanel Orientation="Horizontal" >
<ContentControl Content="Test 1"/>
<ContentControl Content=" ### "/>
<ContentControl Content="Test 2"/>
</StackPanel>
在上面的代码中,结果中不显示第二个内容控件中内容(“####”)后的空格
请参考下面的屏幕截图
注意上图中,####后没有空格
有人能告诉我这是ContentControl的行为还是问题吗
我的确切方案是将此面板添加为ItemsControl的ItemsPanel。请参考以下代码
<ItemsControl x:Name="itemsControl">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" >
<TextBlock Text="Test 1"/>
<TextBlock>
<Run Text=" ### "/>
</TextBlock>
<TextBlock Text="Test 2"/>
</StackPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
问候,,
Shobika.XAML将折叠一些空格,这就是为什么不能显示尾随空格的原因。这详细解释了这一点 对于您的代码,我建议您可以使用
TextBlock
来替换ContentControl
,我们需要使用TextBlock
中的运行
:
是XML的转义字符,表示一个空格
更新 请注意,
和#160
是XML转义字符,请不要在C#代码中使用它。在代码隐藏中,使用
添加(新运行(){Text=“#”+(char)160});
如果选择在代码隐藏中创建ItemsControl
项,请修改ItemsControl
的ItemsPanelTemplate
致以最诚挚的问候。
在没有meaning@ketan我在内容“####”前后添加了空格。但在结果中,显示内容前的空格(测试1)和内容后的空格(测试2)都是显示出来的。我尝试了上面的代码,它会添加空格,请尝试上面的代码。@ketan谢谢你的建议。我已经试过了。但我的问题是为什么我们不能在单词后面加空格。因为,在WPF中,相同的代码(我最初发布的代码)可以正常工作。也就是说,它在单词后添加空格。但是在UWP中,为什么我们不能用相同的代码实现相同的行为呢?谢谢你的建议。我经历了你们分享过的事情,也经历了这件事。我有一个问题,尾随空格如何在WPF中显示,而不是在UWP中显示?您好,目前没有关于这个问题的文档。值得一提的是,UWP中的XAML是从WPF继承而来的,但经过一些修改,删除尾随空格也可能是其中之一。我尝试了你的建议,但对我来说失败了。我的确切方案是将此stackpanel添加为ItemsControl的ItemsPanel。我已经更新了查询中的代码。你对此有什么想法吗?是的,我试过替换和#160
。在simple stackpanel中添加textblock时,它会起作用。但是,在我将其添加到ItemsControl中的场景中,它失败了。按照我尝试过的代码var textBlock=new textBlock();添加(新运行(){Text=“ ;# ;”});itemsControl.Items.Add(newtextblock(){Text=“Test 1”});itemsControl.Items.Add(文本块);itemsControl.Items.Add(newtextblock(){Text=“Test 2”})代码>