powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Получить DesignWidth у UserControl в рантайм.
8 сообщений из 8, страница 1 из 1
Получить DesignWidth у UserControl в рантайм.
    #36834209
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто знает? Как это сделать?
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36834829
Фотография уТКа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Nagorny,

если речь идет о Silverlight (сам недавно нуждался в решении подобного вопроса), то тебе необходимы свойства ActualHeight & ActualWidth, но по какой-то неизвестной причине контролы не имеют как ни странно этих самых Актуальных значений и всегда равны нулю.

Выход есть, получить их через Диспетчер асинхронно:
Код: plaintext
1.
2.
3.
Dispatcher.BeginInvoke(() =>
{
MessageBox.Show(string.Format("Actual size of control: {0}x{1}", [элемент_управления].ActualWidth, [элемент_управления].ActualHeight));
});
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36835135
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну я юзаю WPF.

В том то и дело что Actual размеры не походят.

У меня есть свой UserControl, в дизайнере естественно автоматом проставляются Design размеры, никаких других размеров я не ставлю.

Так вот я создаю окно, в которое запихиваю кодом этот UserControl. Затем мне нужно проставить размеры окна, подобранные под вложенный UserControl (что то типа autosize окна). Лучше всего для этого брать те размеры, которые были определены для при рисовании контрола в дизайнере.

А Actual размеры рассчитываются, исходя из текущей компоновки окна. Что мне не подходит.

В инете искал долго и упорно по поводу того чтобы достать Design размеры. Ничего не нашел.((((
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36835224
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Nagorny,

а почему бы в дизайнере(и затем в коде) не использовать(задавать) Width вместо DesignWidth (привести декларируемое в соответствие с желаемым)?
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36835253
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сейчас я так и делаю, но это неудобно, в том смысле, что приходится помнить, что нужно не забыть установить явные размеры при разработке нового контрола.

Вот и захотел узнать, есть ли возможность узнать Design размеры, чтобы избавиться от этой необходимости.
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36835263
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew Nagorny,

snoop найди программку. посмотри через нее свою программу. и посмотри где лежат твои размеры. потом через binding достань их.
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36835389
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andrew NagornyСейчас я так и делаю, но это неудобно, в том смысле, что приходится помнить, что нужно не забыть установить явные размеры при разработке нового контрола.
так может "правильней" подправить шаблон контрола в студии (вместо DesignWidth - Width)?
...
Рейтинг: 0 / 0
Получить DesignWidth у UserControl в рантайм.
    #36837380
Andrew Nagorny
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
to AlexeiK

snoop не видит этих свойств.

to LR

хм... я попробую. может и подойдет, смотреть надо как будет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Получить DesignWidth у UserControl в рантайм.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]