如何在Button中设置textwrapping

时间:2013-09-04 02:54:28

标签: winrt-xaml

在互联网上搜索,无法找到解决方案。我想我错过了下面的代码来制作文本换行:

<Button x:Name="btnCustomerAging" Background="Green" BorderBrush="Green" Foreground="White" FontSize="33" HorizontalAlignment="Left" Margin="662,106,0,0" Grid.Row="1" VerticalAlignment="Top" Height="213" Width="238">

            <TextWrapping>  

              Customer Locations

            </TextWrapping>


</Button>

2 个答案:

答案 0 :(得分:4)

这样可行。

<Button x:Name="btnCustomerAging" Background="Green" BorderBrush="Green" Foreground="White" FontSize="33" 
        HorizontalAlignment="Left" Margin="662,106,0,0" Grid.Row="1" VerticalAlignment="Top" Height="213" Width="238">
    <TextBlock Text="Customer Locations" TextWrapping="Wrap" />
</Button>

答案 1 :(得分:1)

您可以创建自己的WrapButton并在XAML中使用它,如下所示:

<local:WrapButton x:Name="MyButton" Text="Text that will wrap"/>

这是WrapButton的代码:

public sealed class WrapButton : Button
{
    public static readonly DependencyProperty TextProperty = DependencyProperty.Register("Text", typeof(string), typeof(WrapButton), new PropertyMetadata(string.Empty));
    public string Text { get { return (string)GetValue(TextProperty); } set { SetValue(TextProperty, value); } }

    public WrapButton()
    {
        var textBlock = new TextBlock { TextAlignment = TextAlignment.Center, TextWrapping = TextWrapping.Wrap };
        textBlock.SetBinding(TextBlock.TextProperty, new Binding { Source = this, Path = new PropertyPath("Text") });
        Content = textBlock;
    }
}