【问题标题】:WP8 TextBlock HeightWP8 文本块高度
【发布时间】:2013-10-01 15:02:05
【问题描述】:

我的 MainPage.xaml 上有一些 TextBlock,它们之间的距离很小,看起来很均匀。然而,last 文本框更大并且允许文本被换行。我面临的问题是当我用大量内容填充文本框并且所有文本块似乎都粘在一起时。

图片说明:

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

标记:

<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>

有人看到明显的问题吗?

【问题讨论】:

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


    【解决方案1】:

    我认为问题在于您的保证金。而且 XAML 也效率不高。

    为什么不直接将 Rows 添加到 Grid 并将每个 TextBox 放置到自己的行中 - 这将帮助您不要对导致结果混乱的 HARDCODE 边距进行硬编码...

    或者另一种方法是将everuthing放入垂直堆栈面板

    【讨论】:

      【解决方案2】:

      我通过将 TextBlocks 上的 Height="auto" 替换为 Height="80" 解决了这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多