UWP AutoCompleteBox в ContentDialog имеет неправильный размер - текстовая область больше, чем нарисованная - PullRequest
0 голосов
/ 21 марта 2019

У меня AutoCompleteTextBox в UWP демонстрирует действительно странное поведение, и я не могу понять, что его вызывает. TextBox находится в Grid, но пользователь может печатать за пределами TextBox, поэтому первый и последний символы каждой строки скрыты за окружающей границей. Я сделал несколько скриншотов, чтобы, надеюсь, сделать это более понятным, поскольку это трудно описать.

Я перепробовал все, что мог придумать, но, похоже, не могу заставить его прекратить это делать. Единственный эффект, который у меня был, - это изменение HorizontalAlignment из TextBox. Первоначально это был Stretch, и только правая сторона TextBox имела обрезанные буквы. Когда я изменил его на Center, он разделил отрезанную часть между левой и правой.

У кого-нибудь есть идеи относительно того, что происходит?

На 1-м рисунке фактическая область TextBox определяется рамкой на дальних внешних краях ContentDialog [с ручками перетаскивания слева от (116)].

TextBox в VS Designer View in Designer

На втором рисунке буквы TextBox обозначены буквой 2 W. Если вы присмотритесь, вы увидите только правую 1-ю W слева от полной W.

TextBox во время исполнения 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 голосов
/ 21 марта 2019

Ну что ж еще какой-то поиск нашел ответ, по-видимому. Я не думал искать максимальный размер в ContentDialog, поэтому я не нашел его раньше. Предоставление ссылки на ответ, хотя для будущих людей, чтобы использовать:

Цитируется из Максимальная ширина ContentDialog :

В вашем App.xaml попробуйте установить ContentDialogMaxWidth, скажем, 800. По умолчанию установлено значение 548. Вы также можете увеличить высоту.

<Application.Resources>
    <x:Double x:Key="ContentDialogMaxWidth">800</x:Double>
    <x:Double x:Key="ContentDialogMaxHeight">756</x:Double>
</Application.Resources>

Максимальная ширина ContentDialog

Это последний из перечисленных ответов, по какой-то причине не принятый ответ. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...