WP8 TextBlock高度

时间:2013-09-30 09:44:53

标签: xaml windows-phone-8 windows-phone textblock

我的MainPage.xaml上有一些TextBlock,它们之间有一个微妙的距离,看起来很均匀。然而, last 文本框更大,允许文本被包装。我面临的问题就是当我用大量内容填充文本框时,所有文本块似乎都互为了。

图片解释:

enter image description here

左边的图像很好,但正如你在右边的图像上看到的那样,当我完全填满这个框时,所有的文本块都会以某种方式神奇地粘在一起。

标记:

<ScrollViewer x:Name="LayoutRoot" Background="Transparent">
    <Grid>
        <!--TitlePanel contains the name of the application and page title-->
        <StackPanel Grid.Row="0" Margin="12,17,0,635">
            <TextBlock Text="Project" Style="{StaticResource PhoneTextNormalStyle}"/>
            <TextBlock Text="Project" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
        </StackPanel>

        <Grid x:Name="ContentPanel" Margin="12,161,12,0">

            <toolkit:ListPicker x:Name="myObj" ItemsSource="{Binding myobj, ElementName=this, Mode=OneTime}" Margin="12,12,12,537" >
                <toolkit:ListPicker.ItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Name, Mode=OneTime}" FontSize="{StaticResource PhoneFontSizeSmall}"/>
                            <TextBlock Text="{Binding Id, Mode=OneTime}" FontSize="{StaticResource PhoneFontSizeSmall}" Visibility="Collapsed"/>
                        </StackPanel>
                    </DataTemplate>
                </toolkit:ListPicker.ItemTemplate>
                <toolkit:ListPicker.FullModeItemTemplate>
                    <DataTemplate>
                        <StackPanel>
                            <TextBlock Text="{Binding Name, Mode=OneTime}" Padding="5" FontSize="{StaticResource PhoneFontSizeLarge}"/>
                            <TextBlock Text="{Binding Id, Mode=OneTime}" FontSize="{StaticResource PhoneFontSizeSmall}" Visibility="Collapsed"/>
                        </StackPanel>
                    </DataTemplate>
                </toolkit:ListPicker.FullModeItemTemplate>
            </toolkit:ListPicker>
            <toolkit:PhoneTextBox Height="auto" Name="txtName" Margin="0,70,0,456" Hint="Name" Text="{Binding Name, Mode=TwoWay}" LostFocus="TxtName_OnLostFocus"/>
            <toolkit:PhoneTextBox Height="auto" Name="txtAddress" Margin="0,138,0,388" Hint="First Line of Address" Text="{Binding Address, Mode=TwoWay}" LostFocus="TxtAddress_OnLostFocus"/>
            <toolkit:PhoneTextBox Height="auto" Name="txtEmail" Margin="0,206,0,320" Hint="Email Address" Text="{Binding Email, Mode=TwoWay}" LostFocus="TxtEmail_OnLostFocus"/>
            <toolkit:PhoneTextBox Height="auto" Name="txtTelephone" Margin="0,274,0,252" Hint="Telephone" Text="{Binding Telephone, Mode=TwoWay}" LostFocus="TxtTelephone_OnLostFocus"/>
            <toolkit:PhoneTextBox Height="auto" Name="txtComments" Margin="0,340,0,71" Hint="Comments" TextWrapping="Wrap"/>
        </Grid>
    </Grid>
</ScrollViewer>

有人看到明显的问题吗?

2 个答案:

答案 0 :(得分:1)

我认为问题在于您的保证金。 XAML也没有效率。

为什么不将Rows添加到网格中并将每个TextBox放入自己的行中 - 这将有助于您不使用HARDCODE边距,从而导致结果混乱......

或者另一种方法是将永恒物品放入垂直堆栈面板

答案 1 :(得分:0)

我通过将TextBlocks上的Height="auto"替换为Height="80"来修复此问题。