假设我在WinRT应用程序中有这个XAML:
<Button Content="" AutomationProperties.Name="Add A New Thing" Style="{StaticResource AppBarButtonStyle}" />
由于AutomationProperties.Name的值太长,按钮上的文本跨越两行。我希望它保持一条线。我尝试将按钮的宽度扩展到对于文本来说肯定足够宽的东西,但是文本似乎想要继续在两行上。我应该添加到这个Button控件的标记是什么,以保持文本在一行?
谢谢, 迈克
答案 0 :(得分:1)
所以,这让我很难过。这是我试过的:
<StackPanel>
<!-- Standard -->
<AppBarButton Label="The quick brown fox jumps over the lazy dog"></AppBarButton>
<!--   -->
<AppBarButton Label="The quick brown fox jumps over the lazy dog"></AppBarButton>
<!-- Underscore -->
<AppBarButton Label="The_quick_brown_fox_jumps_over_the_lazy_dog"></AppBarButton>
</StackPanel>
每次尝试都会产生完全相同的结果,包装文字。
这为您提供了两个选项。
所以,既然你想要使用AppBarButton
而不是带有AppBar风格的标准按钮,我将满足我对Windows 8.1和Visual Studio 2013的回答。我还没有2012。
模板(只需右键单击设计器中的控件,然后选择编辑模板/复制。您将在底部附近找到此行:
<TextBlock x:Name="TextLabel"
Foreground="{ThemeResource AppBarItemForegroundThemeBrush}"
FontSize="12" FontFamily="{TemplateBinding FontFamily}" TextAlignment="Center"
TextWrapping="Wrap" Text="{TemplateBinding Label}" Width="88"/>
您可以看到它已设置为换行。只需将TextWrapping="Wrap"
更改为TextWrapping="NoWrap"
即可获得所需内容。然后确保所有按钮都使用您编辑过的模板(因此您可能希望将其重新定位到app.xaml)。
这很简单,真的。
PS:你可能想在主控件上使用TextBlock.TextWrapping="NoWrap"
的WPF技巧。这不起作用,所以我可以节省你的时间。
祝你好运!