Получение высоты холста в WPF - PullRequest
0 голосов
/ 03 февраля 2012

Я уверен, что это действительно просто, но я просто не могу понять, как это сделать.

У меня есть холст во второй вкладке элемента управления вкладкой. Вкладка сначала отключается до тех пор, пока не будет выполнен какой-либо другой метод, затем вкладка включена, и я пытаюсь отобразить результаты на холсте.

Было бы неплохо иметь возможность масштабировать и центрировать график на холсте, и для этого мне нужно получить его фактические размеры.

Проблема в том, что при первой загрузке результатов вкладка с холстом еще не активирована, и ActualHeight и ActualWidth холста равны 0. Я также заставляю холст растягиваться в обоих направлениях, поэтому ширина и высота NaN. По сути, я не знаю, как получить размеры для масштабирования графика ... Есть ли способ получить эти значения до перехода на вкладку?

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

1 Ответ

2 голосов
/ 03 февраля 2012

Вам нужно будет так или иначе обработать событие SizeChanged Canvas (привязка события к команде или непосредственно в коде позади). Когда это событие произойдет, возьмите холст ActualHeight и ActualWidth и соответственно масштабируйте график.

...