14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159
1
.NET 4.x

Как заставить контрол принять ширину по содержимому из кода

18.03.2012, 01:22. Показов 2331. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно. Есть label. Позиционирование top left.
Как заставить его принять ширину по содержимому? Или как получить размеры его содержимого чтобы потом приравнять значения с размерами самого контрола.
Вообщем, жду подсказок. Что-то я сам никак не догадаюсь как это сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2012, 01:22
Ответы с готовыми решениями:

Как принять овнера от формы, на которой лежит контрол?
Привет! У меня есть контрол, который лежит на форме. В этом контроле есть кнопка, открывающая новую...

Как выставить автоматическу ширину по самому длянному содержимому combobox колонки DataGridView ?
У грида свойство AutoSizeColumnsMode = AllCells , но для combobox колонок не срабатывает по...

Как заставить блок принять высоту содержимого
Помогите, пожалуйста понять, как заставить блок принять высоту содержимого. <head> <style> #a...

Как заставить Windows принять изменения в реестре без перезагрузки?
может немножко не в тему. но: необходимо перезагрузить реестр без перезагрузки компьютера -...

3
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
18.03.2012, 01:24 2
XML
1
<Label ... Width="Auto" />
0
14 / 14 / 0
Регистрация: 12.12.2010
Сообщений: 159
18.03.2012, 02:17  [ТС] 3
из кода -> не используя xaml разметку. Зато можно использовать файлик.cs

Добавлено через 24 минуты
Кажется нашел.
C#
1
newLabel.Width = double.NaN;
Добавлено через 11 минут
Хм, как как теперь можно получить значение ширины контрола у которого Width = double.NaN

Добавлено через 8 минут
ActualWidth
1
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
18.03.2012, 02:43 4
пффф вся проблема была в VerticalAlignment и HorizontalAlignment, ведь по-умолчанию ширина и высота элемента lblSomeLabel имеет значение Auto
C#
1
2
3
4
5
6
Label lblSomeLabel = new Label();
lblSomeLabel.Content = "Hello World!";
lblSomeLabel.Background = Brushes.LightYellow;
lblSomeLabel.VerticalAlignment = System.Windows.VerticalAlignment.Top;
lblSomeLabel.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;
grdSomeGrid.Children.Add(lblSomeLabel);
и не нужно ничего колдовать с шириной и высотой, лэйбл сам выравнивает размеры по размерам контента
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.03.2012, 02:43
Помогаю со студенческими работами здесь

Как заставить контрол понять откуда приходят данные?
Вот какая проблема: У меня есть UserForm1, на ней TextBox1 и TextBox2. При вводе данных с...

Как Netscape заставить растянуть таблицу на ширину окна?
Извиняюсь, если не совсем про ASP, но пишу я на нем :)) Достал твердолобый Netscape Ж:- 1. Как...

Отцентрировать <div> и задать его ширину по содержимому
Можно ли построить отцентрованное меню, задавая ширину элементов, как у верхнего меню на...

Как обновить контрол во время выполнения кода
Установил на форму ProgressBar (перед этим было текстовое поле) - результат одинаковый....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru