русский
Germany.ruForen → Архив Досок→ Programmierung

MVVM - pro & contra

565  1 2 3 alle
AlexNek патриот05.11.17 18:50
AlexNek
NEW 05.11.17 18:50 
in Antwort moose 05.11.17 18:39

Нее проблема не в Вашем коде а в моем.

У меня цвет кнопки меняется, однако не тогда когда хочется.

Хочется чтобы менялся сразу после нажатия, а он меняется только после того как мышка "уйдет" с кнопки.


Попробовать правда пока ничего нельзя. Студия "сломалась". Хотя сейчас уже второй раз "ремонтировал" студию, но похоже проблема в каком то плагине.

#41 
  moose свой человек05.11.17 18:59
NEW 05.11.17 18:59 
in Antwort dymanoid 05.11.17 12:59

логично.

#42 
  moose свой человек05.11.17 23:01
NEW 05.11.17 23:01 
in Antwort AlexNek 05.11.17 18:50

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

visual studio не может грохнуться от того, что вы в коде ошибку допустили. если бы так, с ней бы никто не смог работать : )

#43 
AlexNek патриот05.11.17 23:22
AlexNek
05.11.17 23:22 
in Antwort moose 05.11.17 23:01
послушайтесь меня на этот раз. верните style на место, и все будет как вы хотите.

С удовольствием послушаюсь, но никак не возьму в толк. Сделать новый стиль - какой? Я ведь не убирал ничего.


Есть пустая форма, на нее кидаю кнопку. Запускаю - по OnHover меняется цвет. Меня это не интересует, по нажатию на кнопку ничего не происходит.

Затем добавляю код в c# для изменения background по нажатию на кнопку, кидаю другую кисточку, пробовал и черз XAML Запускаю, нажимаю на кнопку - ничего не происходит. Убираю мышку цвет меняется.

Было предположение что обновление не приходит вовремя, но похоже дело не в этом.


visual studio не может грохнуться от того, что вы в коде ошибку допустили

Согласен, просто интересное совпадение. Какой то плагин грохнулся. В /SafeMode работает, в /RootSuffix Exp работает

А как отключить плагин не зная его "ид" не нашел пока. Пробую по одному удалять.


#44 
  moose свой человек05.11.17 23:41
NEW 05.11.17 23:41 
in Antwort AlexNek 05.11.17 23:22, Zuletzt geändert 05.11.17 23:52 (moose)
Сделать новый стиль - какой? Я ведь не убирал ничего.

поведение кнопки если курсор на нее наводят описано в ее стандартном стиле. а когда вы клацаете на кнопку, курсор находится на ней, поэтому вы и не видите, что там что-то меняется, пока курсор с нее не съедет.

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

(Grid)

допишите следующее:

(Grid.Resources)
(Style x:Key="btnstle" TargetType="Button")
(Setter Property="Template")
(Setter.Value)
(ControlTemplate TargetType="Button")
(Grid Background="{TemplateBinding Background}")
(ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/)
(/Grid)
(/ControlTemplate)
(/Setter.Value)
(/Setter)
(/Style)
(/Grid.Resources)

, и кнопке определите этот стиль:


(Button Content="A" Style="{StaticResource btnstle}"... HorisontalAlignment="..... .../)


и ваша кнопка перестанет замечить, что на ней находится курсор.


если название стиля btnstle вам не нравится, назовите по своему. остальное все - ключевые слова.

#45 
AlexNek патриот06.11.17 00:01
AlexNek
NEW 06.11.17 00:01 
in Antwort moose 05.11.17 23:41

спасибо, как починю студию - попробую. Что то там совсем непонятная ошибка, не получается исправить отключением одного плагина.

Еще сегодня помучаю, а завтра тогда 2017 кину.

#46 
AlexNek патриот06.11.17 23:59
AlexNek
NEW 06.11.17 23:59 
in Antwort moose 05.11.17 23:41
и ваша кнопка перестанет замечить, что на ней находится курсор.

Угу так и есть, получилось. glass

Теперь следующий этап - зафигачить кнопы в группу. Хочется чтобы состояние кнопок выдавало интегер как набор битов, тогда правила будет проще записать.

Но я еще даже не думал об этом. Со студией возился, там теперь новый инсталлер и нужно обязательно выбрать .NET desctop development

#47 
  moose свой человек07.11.17 08:02
NEW 07.11.17 08:02 
in Antwort AlexNek 06.11.17 23:59

ну вот, такое получилось. еще бы что-нибудь "вьюмодель" обозвать, да какую-нибудь "модель", где "правила зажигания кнопок" разместить, и полный вам мввм.

попробуйте сказать, что это "неудобно" : )

код бихайнд остался вообще нетронутым, как его студия содзала.

докрутил только три первые кнопки, для остальных нужно пропертиз прописать и к ним прибайндиться, и тоже будут "преключаться".

я, наверное, дальше продолжать тему не буду, реальная тема ждет. всем спасибо за участие ...

#48 
AlexNek патриот07.11.17 21:42
AlexNek
NEW 07.11.17 21:42 
in Antwort moose 07.11.17 08:02

Как говориться, спасибо и за это. Жалко конечно, но мне пока интересно енто делать, буду продолжать.

Я пока смотреть проект не буду, пока свое не сделаю. Только вот интересно, гляньте кто нибудь - организация GUI такая же как и была раньше, все на одну форму накидано?

Тогда вообще нечего обсуждать, по теме. Для меня подобные проекты - прямо в мусор и конечно, еще какие то паттерны городить там совершенно бессмысленно.

#49 
  moose свой человек08.11.17 20:40
NEW 08.11.17 20:40 
in Antwort AlexNek 07.11.17 21:42
...организация GUI такая же как и была раньше, все на одну форму накидано?Тогда вообще нечего обсуждать, по теме. Для меня подобные проекты - прямо в мусор...

жаль, что мне не удалось донести до вас, о чем собственно тема. теперь вижу, что для вас она определенно - в мусор.

если я правильно понял, "все на одну форму накидано" - это о кнопках? тема была вовсе не о том, что за кнопки, можно было взять просто прямоугольники или любые другие элементы, и "накидать" их все равно куда. тема была о том, как построить дизайн так, чтобы было удобно: с мввм или как-то иначе. а вы - "организация хуи"... я в вас разочарован. не люблю, когда люди говорят (особенно резко) о том, в чем ничего не понимают.


#50 
AlexNek патриот08.11.17 21:43
AlexNek
NEW 08.11.17 21:43 
in Antwort moose 08.11.17 20:40
тема была о том, как построить дизайн так, чтобы было удобно
можно было взять просто прямоугольники или любые другие элементы, и "накидать" их все равно куда

Вы хотите связать несвязываемые вещи. К "бардаку" нельзя построить "удобный" дизайн.


я в вас разочарован

Вы можете быть разочарованы только в том что у нас различные точки зрения к построению проектов.

И то что они различные - это совершенно ни о чём не говорит.


люди говорят (особенно резко) о том, в чем ничего не понимают

Я вроде и не скрывал, что в WPF не работаю постоянно и что сейчас он меня побеждает, а не я его. Вы вроде и сами писали что в рабочих проектах так не делаете. Конечно было бы интересно узнать как делается в "рабочих проектах".

А организация посторения GUI от языка вообще мало зависит. Данную форму можно было реализовать и на Яве и в ASP.NET и в Winforms.

Для любого языка просто так накиданные элементы на форме для меня "бардак", с которым низзя работать.

#51 
  moose свой человек08.11.17 22:09
NEW 08.11.17 22:09 
in Antwort AlexNek 08.11.17 21:43

AlexNek, к сожалению, мне нечего вам больше сказать, пусть вам везет, и пусть на вашем рабочем столе всегда будет идеальный порядок : )

#52 
AlexNek патриот11.11.17 23:21
AlexNek
NEW 11.11.17 23:21 
in Antwort moose 07.11.17 08:02

Сделал вот первый вариант, не все так как хотелось и не все "правильно", но вроде все главные условия выполнены.

Ехешник не удалял, так что можно сразу запустить.

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

#53 
AlexNek патриот11.11.17 23:23
AlexNek
NEW 11.11.17 23:23 
in Antwort AlexNek 11.11.17 23:21

Вот как выглядит основное окно

А это после нажатия

Вота диаграмма классов

#54 
1 2 3 alle