В XAML, как сказать: ширина по умолчанию и высота для, например, TextBox

var promises = []
function dbOp(value) {
  return new Promise(function(resolve, reject) {
      conn.query('INSERT INTO test (serial) VALUES (?);',
                [value], function (err, results, fields) {
                    if (err) {
                        return reject(err)
                    }
                    else {
                        console.log("Added stuff"); 
                        resolve(results)
                    }
  }
}




conn.connect(function(err){
    if(err){
        throw err;
    }
    else{
        for (i = 0; i < array.length; ++i) {
            promises.push(dbOp(array[i]));
        }
    }
});

  Promise.all(promises)
      .then((results) => {
        console.log("done", results);
      })
      .catch((e) => {
          console.log(e)
      });
10
задан Dave Clemmer 25 August 2011 в 16:33
поделиться

4 ответа

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

<Grid x:Name="LayoutRoot">
        <TextBox HorizontalAlignment="Left" VerticalAlignment="Top" Text="TextBox" TextWrapping="Wrap" 
        MinWidth="15" MinHeight="20" MaxWidth="500" MaxHeight="50"/>
</Grid>

Можно использовать его еще больше путем установки строк/столбцы в Сетке и ограничения их различными способами. Поскольку Вы происходите из фона содержимого HTML, думаете о нем как использование таблицы к расположению органов управления. Помните, что можно также вложить другие контейнерные объекты (т.е. StackPanels, WrapPanels, другие Сетки, и т.д....).

Проблема с XAML и средствами управления WPF/Silverlight состоит в том, что они очень гибкое, таким образом, необходимо разобраться со всеми опциями и как они влияют на расположение.

Удачи. Я прохожу эту точно ту же самую вещь теперь.

10
ответ дан 3 December 2019 в 18:36
поделиться

Используйте другой контейнер. Сетка всегда расширяет свои дочерние элементы управления для заполнения ячейки сетки.

Вы могли использовать, например, stackpanel, который только расширяет его средства управления в одном направлении.

6
ответ дан 3 December 2019 в 18:36
поделиться

В дополнение к использованию другой панели, поскольку Stefan упомянул, что Вы могли просто дать TextBox выравнивание, которое не является Фрагментом. например.

<TextBox Name="theName" HorizontalAlignment="Left" VerticalAlignment="Top"/>
4
ответ дан 3 December 2019 в 18:36
поделиться

Размеры в WPF не являются пикселями, они - "независимые от устройств пиксели", которые являются 1/96 дюйма - так в сегодняшней нормальной установке DPI они карта 1:1 к пикселям.

Но, если Вы запустите программу в высоком режиме DPI, то TextBox вырастет с DPI (и шрифт).

Так установка трудно кодированного размера не является этим плохо.

Кроме этого можно только использовать HorizontalAlignment и VerticalAlignment, которые не являются "Фрагментом", это измерит TextBox к содержанию - но затем пустой TextBox будет крошечным.

Можно установить VerticalAlignment, чтобы "Центрировать", "Превысить" или "Достигнуть низшей точки" для получения автоматической высоты приблизительно одной строки (возможно, сохраненный установкой MinHeight, чтобы избежать проблем действительно крошечные шрифты) и затем установить Ширину, таким образом, Текстовое поле width не изменяется, поскольку пользователь вводит в него.

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

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