С Новым годом! Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/29: Рейтинг темы: голосов - 29, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 12.02.2016
Сообщений: 15
1

Как узнать размеры Grid

24.06.2016, 12:58. Показов 5368. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Собственно, нужна ваша помощь в том, как узнать размеры Grid из кода. Когда я обращаюсь к свойствам Grid (Height, ActualHeight, RenderSize.Height, тоже для ширины), в ответ получаю лишь 0 или NaN.

Изначально Grid пустая, но потом я в коде добавляю туда строки и столбцы, и она растягивается, по всему видать, так как у нее VerticalAlignment и HorisontalAlignment по умолчанию.

И хочется узнать, до каких размеров она растянулась (если так можно)? Заранее всех благодарю!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.06.2016, 12:58
Ответы с готовыми решениями:

Как узнать в какой ячейке Grid произошло нажатие?
Имеется Grid 3х3. Каждое его поле разбито ещё на 3х3 тоже Grid'ом. Как при клике мышки, узнать на...

Как узнать размеры кнопки с настройкой AutoSize в дизайнере VS?
.Net FrameWork 4.6. Как узнать размеры кнопки, если установлена настройка AutoSize для ширины и...

Возможно ли задать в XAML число строк и столбцов Grid сразу, без исп <Grid.ColumnDefinitions> и <Grid.RowDefinnitions>?
Возможно ли задать в XAML число строк и столбцов Grid сразу, без исп &lt;Grid.ColumnDefinitions&gt; и...

Как изменить Grid.Row и Grid.Column в элементе
как переместить кнопку из одной ячейки в другую при нажатии на нее или как поменять содержимое...

4
Эксперт .NET
1846 / 1353 / 428
Регистрация: 10.06.2011
Сообщений: 2,128
24.06.2016, 13:38 2
ActualHeight и ActualWidth - фактические размеры элементов. Если они возвращают 0 или NaN, значит так и есть. Возможно, вы не на тот элемент смотрите или что-то не так делаете. Но без дополнительной информации, сказать что-либо невозможно.
0
1 / 1 / 0
Регистрация: 12.02.2016
Сообщений: 15
24.06.2016, 13:51  [ТС] 3
Да нет, смотрю на тот элемент.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
 
namespace WpfApplication1
{
    /// <summary>
    /// Логика взаимодействия для GameItself.xaml
    /// </summary>
    public partial class GameScreen : Window
    {
        public GameScreen()
        {
            Graphics.window = this;
            InitializeComponent();
            Graphics.Initialize();
            double d = fieldGrid.ActualHeight;//сюда поставил точку останова
        }
    }
}
Пишет, что d = 0, хотя она изначально у меня растягивается почти на все окно. Уверен, что что-то не так делаю.
0
Эксперт .NET
1846 / 1353 / 428
Регистрация: 10.06.2011
Сообщений: 2,128
24.06.2016, 13:58 4
Лучший ответ Сообщение было отмечено Fighting Spirit как решение

Решение

Ну, так, наверное, не в конструкторе нужно брать значение. Элемент ещё не загрузился. Значение нужно смотреть после вызова события Loaded.
XML
1
2
3
4
5
6
Loaded += Window1_Loaded;
 
private void Window1_Loaded(....)
{
    double d = fieldGrid.ActualHeight
}
1
1 / 1 / 0
Регистрация: 12.02.2016
Сообщений: 15
24.06.2016, 14:09  [ТС] 5
Спасибо, мне почему-то казалось, что InitializeComponent(); это загрузка, буду знать.
0
24.06.2016, 14:09
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2016, 14:09
Помогаю со студенческими работами здесь

Узнать расположение объекта в Grid
Приветствую всех. Такой вопрос: Пишу приложение для Windows Phone и использую Grid. В него...

Узнать размеры Image до первого использования
Здравствуйте. Возник вопрос: имеется код, рисующий фрактал. Т.к. он его рисует попиксельно, то мне...

Как узнать, что картинка полностью загружена, чтобы узнать её размеры
Здраствуйте ! Делаю галерею. Мне нужно узнать когда картинка загрузица полносттю, чтобы узнать её...

Как узнать размеры экрана?
хотелось бы выводить кол-во текста пропорционально размерам экрана. в терминале можно установить...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее: На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru