WPF TextBox и поведение Прокрутки

если вы используете expo, вы можете сделать что-то подобное

const soundObject = new Expo.Audio.Sound();

playSound = async () => {
    await soundObject.loadAsync({uri:'the uri of your audio'});
    soundObject.playAsync();
}

, теперь он должен начать проигрывать ваш mp3, для получения более подробной информации смотрите документацию по expo здесь https://docs.expo.io / версия / последнее / SDK / аудио

11
задан rae1 6 August 2013 в 14:53
поделиться

1 ответ

Проблема состоит в том, что родительские элементы предоставляют TextBox столько пространства, сколько это думает, что этому нужно, и когда больше текста будет присутствовать, это расширится вместо того, чтобы остаться в начальном автоматическом размере.

Одно решение здесь состоит в том, чтобы сделать другой авторазмерный элемент и связать TextBox. Ширина к нему:

<DockPanel>
    <TreeView Width="150" DockPanel.Dock="Left"/>
    <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto"/>
            </Grid.RowDefinitions>
            <TextBlock Margin="5" VerticalAlignment="Center" Text="Name"/>
            <Border x:Name="b" Grid.Column="1" Margin="5"/>
            <TextBox Width="{Binding ActualWidth, ElementName=b}"
                     MinWidth="200"
                     Grid.Column="1"
                     Margin="5"
                     VerticalAlignment="Center"
                     Text="Some Name"/>
        </Grid>
    </ScrollViewer>
</DockPanel>

Обратите внимание, что мы устанавливаем свойство Margin элемента автокалибровки (Граница). Это важно, потому что, если это не установлено, будет цикл:

  1. Авторазмеры ширины рамки к ширине столбца Сетки
  2. Текстовое поле width изменяет размер для Ограничения. ActualWidth
  3. Ширина столбца сетки изменяет размер к Текстовому полю width + поле TextBox
  4. Авторазмеры ширины рамки к ширине столбца Сетки снова

Путем установки Поля на то же как TextBox изменение размеров TextBox не будет влиять на размер Сетки.

36
ответ дан 3 December 2019 в 01:39
поделиться
Другие вопросы по тегам:

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