Как запретить изменять размер окна wpf
Перейти к содержимому

Как запретить изменять размер окна wpf

  • автор:

Практическое руководство. Автоматическое изменение размера окна в соответствии с размером содержимого

В этом примере показано, как установить свойство SizeToContent, чтобы указать изменение размеров окна в соответствии с его содержимым.

Пример

 // Manually alter window height and width this.SizeToContent = SizeToContent.Manual; // Automatically resize width relative to content this.SizeToContent = SizeToContent.Width; // Automatically resize height relative to content this.SizeToContent = SizeToContent.Height; // Automatically resize height and width relative to content this.SizeToContent = SizeToContent.WidthAndHeight; 
 ' Manually alter window height and width Me.SizeToContent = SizeToContent.Manual ' Automatically resize width relative to content Me.SizeToContent = SizeToContent.Width ' Automatically resize height relative to content Me.SizeToContent = SizeToContent.Height ' Automatically resize height and width relative to content Me.SizeToContent = SizeToContent.WidthAndHeight 

Совместная работа с нами на GitHub

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

WPF компоновка (запрет на изменение размера фрэймов)

В технологии WPF в окне производится разметка (с помощью элементов Grid), после чего создаются Фрэймы для дальнейшего расположения элементов. Какое свойство отвечает за блокировку изменения размера определенного фрэйма при изменении размеров окна?

Отслеживать
задан 7 фев 2021 в 10:44
Виктор Хорошилов Виктор Хорошилов
11 1 1 бронзовый знак
Фреймы плохо. А размеры — задайте ячейке грида строгие размеры да и все.
7 фев 2021 в 11:26

Какое свойство отвечает за блокировку изменения размера определенного фрэйма при изменении размеров окна? — высота и ширина, задайте явно, и размер не будет меняться. Но то что вы спрашиваете, звучит очень странно. Располагать элементы надо в XAML, а для их группировки использовать панели ( Grid , StackPanel , WrapPanel , . ). А для отображения коллекций ListBox , ItemsControl , ListView , DataGrid , и т.д, привязыаясь к данным через ItemsSource=»» .

7 фев 2021 в 11:58

Нужно, чтобы при изменении размеров приложения, один фрэйм с его содержимым никак не изменялся, а другие меняли свой размер по мере изменения размера приложения, разметка используется — Grid, область разделена на фрэймы

7 фев 2021 в 16:28

Вы умеете Grid разбивать на строки и колонки? RowDefinitions и ColumnDefonitions если нет, то научитесь, это суперпросто. Для строк и колонок можно задавать высоту и ширину, в долях, пикселях и по ширине контента.

Запрет изменения ширины окна

Author24 — интернет-сервис помощи студентам

Имеется окно.
Необходимо запретить изменять его размеры, а именно — запретить изменять ширину.

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

Есть ли способ более гуманный?

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Изменить Margin окна(из кода C#) после изменения размера окна
Есть окно у которого задано свойство Margin = "0" Необходимо при изменении размера окна на.

Изменение ширины окна влево
Всем привет) Мне необходимо сделать так, чтобы при наведении форма меняла размер, но не вправо.

ListView c автоизменением ширины колонок при увеличении размеров окна
Доброго времени суток. В моем приложении на стороне сервера есть ListView который занимает весь.

Запрет изменения раскладки клавиатуры
Как программного запретить изменение раскладки клавиатуры?

TheGreatCornholio
1254 / 732 / 285
Регистрация: 30.07.2015
Сообщений: 2,408

Лучший ответ

Сообщение было отмечено bodynar как решение

Решение

ЦитатаСообщение от bodynar Посмотреть сообщение

Есть ли способ более гуманный?

Добавлено через 2 минуты
Чет проглядел, для WPF — MaxHeight, MaxWidth, MinHeight, MinWidth.

Как отключить изменение размера UserControl в WPF

Вы вставили XAML для UserControl , но ваш вопрос задает вопрос о Window . Таким образом, вам нужно будет поместить свой UserControl внутри окна, которое настроено так, чтобы не допускать изменения размера.

Окно WPF имеет свойство ResizeMode, которое может быть одним из следующих:

  • NORESIZE
  • CanMinimize
  • CanResize (по умолчанию)
  • CanResizeWithGrip

Вам понадобится NoResize.

devuxer 28 окт. 2013, в 19:46
Поделиться
Спасибо. Я также поставил свой пользовательский элемент управления qyestion.
user1298925 28 окт. 2013, в 20:23
Будет ли работать ваш UserControl в окне, как я показал в моем ответе?
devuxer 28 окт. 2013, в 20:38

Все происходит сбой, потому что в коде я создал UserControl, но сейчас я создаю окно. Если бы был способ сделать пользовательский элемент управления не изменяемым, это был бы желаемый путь. Есть идеи? Заранее спасибо.

user1298925 29 окт. 2013, в 14:41

Вы говорите о том, что пользователь выполняет изменение размера, перехватив стороны / угол пользовательского элемента управления , но пользовательские элементы управления не имеют возможности изменения размера, а только у окон. Итак, где-то в вашем приложении должно быть окно, содержащее ваш пользовательский элемент управления. Если вы хотите полностью запретить пользователю изменять размер окна вашего приложения, вам необходимо применить его на уровне окна. Если вы просто хотите, чтобы ваш пользовательский элемент управления был фиксированного размера, вы можете установить его MinWidth / MaxWidth и MinHeight / MaxHeight, но это не помешает пользователю сжимать окно настолько, чтобы оно закрывало ваш пользовательский элемент управления.

devuxer 29 окт. 2013, в 17:56
user1298925 29 окт. 2013, в 18:21

Поэтому я использовал DanM ResizeMode = NoResize, и это работает. @DanM: Большое спасибо, что решили решить проблему, и спасибо за объяснение.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *