ContentDialog中的UWP AutoCompleteBox大小不正确-文本区域大于绘制的区域

时间:2019-03-21 16:44:29

标签: c# xaml user-interface layout uwp

我的UWP中有一个AutoCompleteTextBox表现出一种非常奇怪的行为,我不知道是什么原因造成的。 TextBoxGrid中,但是用户可以键入TextBox的边界,因此每行的第一个和最后一个字符都隐藏在周围的边框后面。我已经截取了一些屏幕截图,希望这使它更有意义,因为它很难描述。

我已经尝试了所有可以想到的方法,但似乎无法停止这样做。我唯一的影响就是更改了HorizontalAlignment中的TextBox。最初是Stretch,只有TextBox的右边有截止字母。当我将其更改为Center时,它在左边和右边之间划分了截止部分。

有人对发生的事情有任何想法吗?

在第一张图片中,实际的TextBox区域由ContentDialog的最外边缘上的框定义(使用(116)的拖动手柄)。 / em>

VS Designer中的文本框 View in Designer

在第二张图片中,在TextBox中键入的字母为2W。如果仔细观察,您将可以看到第一个W的最右侧,位于整个W的左侧。

执行期间的文本框 enter image description here

XAML:

<ContentDialog
x:Class="FlipPanelTest2.ComposeTweet"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:FlipPanelTest2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
RequestedTheme="Dark"
Title="{Binding SendTo}"
Foreground="Gray"
Width="600"
PrimaryButtonText="Cancel"
SecondaryButtonText="Tweet!"
SecondaryButtonStyle="{StaticResource TweetContentDialogButtonStyle}"
PrimaryButtonStyle="{StaticResource CancelButtonStyle}"
PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
SecondaryButtonClick="ContentDialog_SecondaryButtonClick">
<Grid Width="Auto">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <TextBox x:Name="tweetText" Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Stretch" Background="White" TextWrapping="Wrap" Margin="2" TextChanged="TextBox_TextChanged" MaxHeight="180" MinHeight="112" Width="540" />        
    <StackPanel x:Name="characterCount" Orientation="Horizontal" Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center">
        <TextBlock x:Name="currentChars" HorizontalAlignment="Right" Grid.Row="1" FontSize="10" Text="{Binding TweetCharacters}" />
        <TextBlock x:Name="charsDivider" HorizontalAlignment="Right" Grid.Row="1" FontSize="10" Text="/" />
        <TextBlock x:Name="maxChars" HorizontalAlignment="Right" Grid.Row="1" FontSize="10" Text="{Binding MaxCharacters}" />
    </StackPanel>
</Grid>

1 个答案:

答案 0 :(得分:0)

显然,更多的搜索找到了答案。我没想到要在ContentDialog上搜索最大尺寸,因此我以前没有找到它的原因。尽管提供了答案的链接,以供将来的人们使用:

引自ContentDialog max width

  

在您的App.xaml中,尝试将ContentDialogMaxWidth设置为800。   默认值为548。您可能也想增加高度。

 function RemoveMapLayer() {
        var mpLayer = map.getLayer("points");
        if (typeof mpLayer === 'undefined') {
            // No Layer
        } else {
            map.removeLayer("points");
        }

        var mpSource = map.getSource("points");
        if (typeof mpSource === 'undefined') {
            alert("no source");
        } else {
            map.removeSource("points");
        }
    }

ContentDialog max width

这是那里列出的最后一个答案,由于某种原因,它不是公认的答案。 :)