Позвольте TextBox быть измененным, но не вырасти на вводе данных пользователем

() после print воспринимается как вызов функции, возможно потому, что вы используете python 3. Возвращение print равно None.

python2

Python 2.7.13 (по умолчанию, 12 июля 2017, 19:49:36)

>>> print (1) + 2
3

python3

Python 3.6.8 (по умолчанию, 21 февраля 2019, 16:25:05)

>>> print (1) + 2
1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
12
задан Andreas Niedermair 6 June 2016 в 12:43
поделиться

2 ответа

Причина у Вас есть это поведение, состоит в том, потому что Вы установили свойство Window's SizeToContent - который в основном разрешает Окно изменять размер себя на основе размера, который требует его содержание. Таким образом, поскольку Вы вводите в большем количестве материала, текстовое поле говорит, что мне нужно больше пространства, окно покорно растет. Ваше текстовое поле не выросло бы, если Вы не устанавливаете свойство SizeToContent.

Таким образом, как я сказал бы, теряют метод set свойства SizeToContent и Использование пропорциональная калибровка сетки. Здесь я говорю, делают Column#2 дважды шириной Column#1. Значение "Фрагмента" по умолчанию HorizontalAlignment и VerticalAlignment для Сетки должно гарантировать, чтобы Ваши средства управления изменили размер правильно на окне, изменяют размер.

<Window ...
    Title="MyWindow" WindowStyle="ToolWindow" ResizeMode="CanResizeWithGrip"
        MinWidth="300" Width="300" Height="80">
    <Grid x:Name="myGrid">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*" MinWidth="100"/>
            <ColumnDefinition Width="2*" MinWidth="200" />
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition MinHeight="50" />
        </Grid.RowDefinitions>

        <TextBlock Grid.Column="0" Grid.Row="0">Description:</TextBlock>
        <TextBox Grid.Column="1" Grid.Row="0" TextWrapping="WrapWithOverflow"/>
    </Grid>

Если бы Вы просто добавляете метод set свойства SizeToContent назад к вышеупомянутому фрагменту кода... Вы видели бы некоторое странное поведение, где текстовое поле первоначально растет с текстовым содержанием.. однако, если Вы изменяете размер окна однажды.. текстовое поле прекратило бы расти.Странно... не может объяснить то поведение.
HTH

15
ответ дан 2 December 2019 в 19:33
поделиться

Измените второй ColumnDefinition, чтобы быть Шириной = "*".

0
ответ дан 2 December 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: