требования к студии там есть на сайте. 2015, как и 4.6 на хрюше не должен работать, этот унылый утиль давно отправился в архивы истории. на восьмёрке точно отлично работает.
на 3 я не делал ни маштабирование при изменении размера окна, ни привязку к какому ползунку для регулировки
пардонс. изначально хотел просто накидать вёрсточным стилет примерно что и у тебя, но потом полез в биндинги и переключение стилей стили, смысл которых ты пока не смог оценить. не камильфо, а если в смысл вдуматься? на 1 там добавляешь несколько элементов, а на 3 там тот же список - не выделенные элементы отображаются простенькой строчкой, а при выделении меняется стиль и та же самая строчка выглядит... ну ты сам видишь как она кардинально меняется. а украшательства... ну в конце сообщения пара ссылочек, раз смысл менее важен формы.
хм, чтот мне это напоминает как индейцу показывают на самолёт, а он или ничего не видит или видит большую птицу. хотя наверно не имея в голове нужных образов, трудно понять, что фишка не в том, как оно визуально выглядит, хотя если повозиться со стилями можно и симпотное наваять. во-первых там вёрсточный подход. т.е. нет такого, что вот этот текст в таких координатах, размер его жестко задан таким. там часть элементов к колонкам привязана, часть стекуется друг к другу. открой MainWindow.xaml, нет там для элементов ни размеров, ни координат. на всех закладках это один и тот же листбокс, только с разными стилями. ещё раз, все отличия стилями. на 1 сразу редактирумые поля, на 2 показывает только айди и при выборе элемента показывает почти все, но не редактируемые. на 3 при выборе оно не в строчку, а уже в квадрате со слайдерами и редактируемыми полями. просто меняетя стиль.
на qt такое даже близко и за неделю не запилишь, вот не делается там такое.
второй момент, что оно работает на биндингах. тут только малая часть плюшек биндингов используется - на всех трёх источник данных один и тот же. в самом впф элементы тоже гибко на биндингах завязано (размеры, содержимое, относительное положение, анимация и т.д.), просто я это тут почти не использовал. использовалась по сути только немного - привязка источника данных для заполнения элементов. допустим у тебя там есть поле incontrol. делаем в стиле кнопочки "соединить" и "отключиться", привязываем их поля visible к incontrol и получится, что когда incontrol = true, видна кнопочка "отключиться", когда false будет видна "соединить". тыц, профит. или можно менять цвет строк по какому-то алгоритму, допустим стандартное выделение чётных и нечётных строк. или можно привязать цвет фона к какому полю и допустим при выходе за определённый интервал менять цвет на зелёный, желтый или красный. в реальных софтинах, если прям с привязкой к железкам, так полезно для индикации заряда акума или ещё чего подобного.
посмотри допустим примерно на такое.
вращение самолёта или стрелочек точно также биндится, как и в том проекте, что я тебе дал. вот изменилось в переменной некоего класса поле "уровень топлива" и всё, где нужно стрелочка или рисунок самолёта провернётся на нужный угол.
- Код: Выделить всё • Развернуть
<AircraftImage ...>
<Image.RenderTransform>
<RotateTransform Angle="{Binding Aircraft_pitch}" />
</Image.RenderTransform>
</AircraftImage>
а где-то в текстовом поле другого компонента допустим будет отображаться значение текстом. для визуальных элементов ещё есть другие трансформации, допустим маштабирование. накидал такой спидометр или ещё что, а потом маштабирурй во сколько раз хочешь. т.е. не нужно ручками писать тонны кода для вычисления координат элементов, размеры шрифтов, картинок и прочего. просто вызвал трансформацию и всё автоматически отмаштабируется.
а в том же твоём варианте для серв в сеттерах элементарно можно реализовать, что допустим при изменении нужно отправить куда данные, по ходу очень сильно можно преобразовывать данные, делать кучу проверок, отсылать сразу или как-то сессиями периодически. допустим можно сразу на пату с мк шпулять. а по сети, в уарт, простой протокол или мегамодный уже не важно - произошло событие "элемент изменён" или коллекция изменена и всё, отрабатывает какая хош логика.
стили элементарно переключаются или вручную или при изменении каких данных по собитию. в данном случае когда меняется поле "выделенный элемент".
постаь эту демку
. там поклацай по элементам, поменяй тему и опять поклацай. или такая тема
http://professorweb.ru/my/WPF/themes/DarkOrange_UI/theme_or.php. или вот одна из первых демок
http://blogs.msdn.com/b/escience/archive/2007/05/11/family-show-from-vertigo.aspx. банально стили и внешний вид кардинально меняется. таких тем много, можно при желании и понакачать.