Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows phone 7 WP7的文本内容对齐_Windows Phone 7 - Fatal编程技术网

Windows phone 7 WP7的文本内容对齐

Windows phone 7 WP7的文本内容对齐,windows-phone-7,Windows Phone 7,我有一个按钮(不是由xaml创建的),我正在为其设置如下内容对齐方式: btn.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left; <Button Width="200" Height="200"> <Button.Content> <TextBlock TextWrapping="Wrap" Text="This is a long text that

我有一个按钮(不是由xaml创建的),我正在为其设置如下内容对齐方式:

btn.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
<Button Width="200" Height="200">
    <Button.Content>
        <TextBlock TextWrapping="Wrap" Text="This is a long text that fits into button"/>
    </Button.Content>
</Button>
但是如果内容太长,文本就会在你看不到文本的地方向右滑动。 按钮在此网格中的全景项目2内创建:

<Grid x:Name="LayoutRoot">
    <controls:Panorama Title="Title" SelectionChanged="Panorama_SelectionChanged" FontSize="20">

        <!--Panorama item one-->
        <controls:PanoramaItem Header="Wall" Margin="40,0,0,0" Name="PIWall">

        </controls:PanoramaItem>

        <!--Panorama item two-->
        <controls:PanoramaItem Header="Messages" Margin="30,0,0,0" Name="PIMail">

        </controls:PanoramaItem>

    </controls:Panorama>
</Grid>

如何使文本不在网格边距上滑动?

好的,要将文本包装到按钮中,可以使用如下XAML:

btn.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
<Button Width="200" Height="200">
    <Button.Content>
        <TextBlock TextWrapping="Wrap" Text="This is a long text that fits into button"/>
    </Button.Content>
</Button>
ContentPanel是一个简单的网格

编辑:修改超链接的帖子按钮

为了在超链接按钮中启用文本换行,您需要编辑超链接按钮的样式。在App.xaml文件中这样定义:

    <Style x:Key="HyperlinkButtonStyle" TargetType="HyperlinkButton">
        <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="HyperlinkButton">
                    <Border Background="Transparent">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver"/>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="TextElement"/>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="TextElement">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border Background="{TemplateBinding Background}" Margin="{StaticResource PhoneHorizontalMargin}" Padding="{TemplateBinding Padding}">
                            <TextBlock x:Name="TextElement" TextWrapping="Wrap" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Text="{TemplateBinding Content}" TextDecorations="Underline" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

好的,要将文本包装到按钮中,可以使用如下XAML:

btn.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Left;
<Button Width="200" Height="200">
    <Button.Content>
        <TextBlock TextWrapping="Wrap" Text="This is a long text that fits into button"/>
    </Button.Content>
</Button>
ContentPanel是一个简单的网格

编辑:修改超链接的帖子按钮

为了在超链接按钮中启用文本换行,您需要编辑超链接按钮的样式。在App.xaml文件中这样定义:

    <Style x:Key="HyperlinkButtonStyle" TargetType="HyperlinkButton">
        <Setter Property="Foreground" Value="{StaticResource PhoneForegroundBrush}"/>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="FontSize" Value="{StaticResource PhoneFontSizeMedium}"/>
        <Setter Property="Padding" Value="0"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="HyperlinkButton">
                    <Border Background="Transparent">
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Normal"/>
                                <VisualState x:Name="MouseOver"/>
                                <VisualState x:Name="Pressed">
                                    <Storyboard>
                                        <DoubleAnimation Duration="0" To="0.5" Storyboard.TargetProperty="Opacity" Storyboard.TargetName="TextElement"/>
                                    </Storyboard>
                                </VisualState>
                                <VisualState x:Name="Disabled">
                                    <Storyboard>
                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="Foreground" Storyboard.TargetName="TextElement">
                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PhoneDisabledBrush}"/>
                                        </ObjectAnimationUsingKeyFrames>
                                    </Storyboard>
                                </VisualState>
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border Background="{TemplateBinding Background}" Margin="{StaticResource PhoneHorizontalMargin}" Padding="{TemplateBinding Padding}">
                            <TextBlock x:Name="TextElement" TextWrapping="Wrap" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Text="{TemplateBinding Content}" TextDecorations="Underline" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/>
                        </Border>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>


你没有给出任何关于按钮的细节。它是如何创建的?这是一个什么样的孩子?您设置了按钮的哪些参数?不清楚您是希望文本换行、结尾修剪还是简单地使按钮与文本一样大?@Rich Hopkins我用数据编辑了我的文章。@igrali我想换行可以。您正在将按钮添加到面板。面板是scrollviewer的内容。不同的scrollviewer是PIMail的内容(不管是什么)。我看不出它将被添加到您的UI中。这些对象都不在XAML中。btn是一个固定的宽度,所以如果文本太长,你将看不到它。。。这些都是我想到的想法。填写完这些后,可能会有更多问题。您不会给出有关按钮的任何详细信息。它是如何创建的?这是一个什么样的孩子?您设置了按钮的哪些参数?不清楚您是希望文本换行、结尾修剪还是简单地使按钮与文本一样大?@Rich Hopkins我用数据编辑了我的文章。@igrali我想换行可以。您正在将按钮添加到面板。面板是scrollviewer的内容。不同的scrollviewer是PIMail的内容(不管是什么)。我看不出它将被添加到您的UI中。这些对象都不在XAML中。btn是一个固定的宽度,所以如果文本太长,你将看不到它。。。这些都是我想到的想法。这些问题填好后可能会有更多的问题。这听起来很有希望,但行不通。。当我尝试时,按钮似乎是空的,没有内容。只有当我将字符串直接添加到按钮的内容时,我才能看到它。我用代码示例而不是xaml进行了尝试,因为在本例中我没有使用xaml,它不成功的原因是什么?它是一个按钮还是一个超链接按钮有关系吗?你可能知道做同样事情的不同方法吗?@YonatanNir我用HyperlinkButton的详细信息编辑了这篇文章最后我把按钮变成了一个文本块,并用双击事件导航我知道这是一个3年前的答案,但问题可能出在文本块的前景上。把它换成黑色或特定的颜色,问题就应该解决了。这听起来很有希望,但行不通。。当我尝试时,按钮似乎是空的,没有内容。只有当我将字符串直接添加到按钮的内容时,我才能看到它。我用代码示例而不是xaml进行了尝试,因为在本例中我没有使用xaml,它不成功的原因是什么?它是一个按钮还是一个超链接按钮有关系吗?你可能知道做同样事情的不同方法吗?@YonatanNir我用HyperlinkButton的详细信息编辑了这篇文章最后我把按钮变成了一个文本块,并用双击事件导航我知道这是一个3年前的答案,但问题可能出在文本块的前景上。将其更改为黑色或特定颜色,则问题应消失。