MVVM - pro & contra
Нее проблема не в Вашем коде а в моем.
У меня цвет кнопки меняется, однако не тогда когда хочется.
Хочется чтобы менялся сразу после нажатия, а он меняется только после того как мышка "уйдет" с кнопки.
Попробовать правда пока ничего нельзя. Студия "сломалась". Хотя сейчас уже второй раз "ремонтировал" студию, но похоже проблема в каком то плагине.
послушайтесь меня на этот раз. верните style на место, и все будет как вы хотите. у кнопки есть стандартный стайл, и там предусмотрен ее вид, если мышь наведена на нее. другого способа это отключить, кроме как переписать стайл, я не знаю. кнопка ваша меняет цвет сразу, только вы это замечаете только после того, как курсор сползен с кнопки. попробуйте навести мышку на кнопку снова, и убедитесь.
visual studio не может грохнуться от того, что вы в коде ошибку допустили. если бы так, с ней бы никто не смог работать : )
послушайтесь меня на этот раз. верните style на место, и все будет как вы хотите.
С удовольствием послушаюсь, но никак не возьму в толк. Сделать новый стиль - какой? Я ведь не убирал ничего.
Есть пустая форма, на нее кидаю кнопку. Запускаю - по OnHover меняется цвет. Меня это не интересует, по нажатию на кнопку ничего не происходит.
Затем добавляю код в c# для изменения background по нажатию на кнопку, кидаю другую кисточку, пробовал и черз XAML Запускаю, нажимаю на кнопку - ничего не происходит. Убираю мышку цвет меняется.
Было предположение что обновление не приходит вовремя, но похоже дело не в этом.
visual studio не может грохнуться от того, что вы в коде ошибку допустили
Согласен, просто интересное совпадение. Какой то плагин грохнулся. В /SafeMode работает, в /RootSuffix Exp работает
А как отключить плагин не зная его "ид" не нашел пока. Пробую по одному удалять.
Сделать новый стиль - какой? Я ведь не убирал ничего.
поведение кнопки если курсор на нее наводят описано в ее стандартном стиле. а когда вы клацаете на кнопку, курсор находится на ней, поэтому вы и не видите, что там что-то меняется, пока курсор с нее не съедет.
чтобы этого не происходило, следует переопределить стиль для кнопки. в кзэмл файле сразу после (угольные скобки я заменил везде на круглые, иначе не покажет как надо)
(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 вам не нравится, назовите по своему. остальное все - ключевые слова.
и ваша кнопка перестанет замечить, что на ней находится курсор.
Угу так и есть, получилось.
Теперь следующий этап - зафигачить кнопы в группу. Хочется чтобы состояние кнопок выдавало интегер как набор битов, тогда правила будет проще записать.
Но я еще даже не думал об этом. Со студией возился, там теперь новый инсталлер и нужно обязательно выбрать .NET desctop development
ну вот, такое получилось. еще бы что-нибудь "вьюмодель" обозвать, да какую-нибудь "модель", где "правила зажигания кнопок" разместить, и полный вам мввм.
попробуйте сказать, что это "неудобно" : )
код бихайнд остался вообще нетронутым, как его студия содзала.
докрутил только три первые кнопки, для остальных нужно пропертиз прописать и к ним прибайндиться, и тоже будут "преключаться".
я, наверное, дальше продолжать тему не буду, реальная тема ждет. всем спасибо за участие ...
Как говориться, спасибо и за это. Жалко конечно, но мне пока интересно енто делать, буду продолжать.
Я пока смотреть проект не буду, пока свое не сделаю. Только вот интересно, гляньте кто нибудь - организация GUI такая же как и была раньше, все на одну форму накидано?
Тогда вообще нечего обсуждать, по теме. Для меня подобные проекты - прямо в мусор и конечно, еще какие то паттерны городить там совершенно бессмысленно.
...организация GUI такая же как и была раньше, все на одну форму накидано?Тогда вообще нечего обсуждать, по теме. Для меня подобные проекты - прямо в мусор...
жаль, что мне не удалось донести до вас, о чем собственно тема. теперь вижу, что для вас она определенно - в мусор.
если я правильно понял, "все на одну форму накидано" - это о кнопках? тема была вовсе не о том, что за кнопки, можно было взять просто прямоугольники или любые другие элементы, и "накидать" их все равно куда. тема была о том, как построить дизайн так, чтобы было удобно: с мввм или как-то иначе. а вы - "организация хуи"... я в вас разочарован. не люблю, когда люди говорят (особенно резко) о том, в чем ничего
не понимают.
тема была о том, как построить дизайн так, чтобы было удобно
можно было взять просто прямоугольники или любые другие элементы, и "накидать" их все равно куда
Вы хотите связать несвязываемые вещи. К "бардаку" нельзя построить "удобный" дизайн.
я в вас разочарован
Вы можете быть разочарованы только в том что у нас различные точки зрения к построению проектов.
И то что они различные - это совершенно ни о чём не говорит.
люди говорят (особенно резко) о том, в чем ничего не понимают
Я вроде и не скрывал, что в WPF не работаю постоянно и что сейчас он меня побеждает, а не я его. Вы вроде и сами писали что в рабочих проектах так не делаете. Конечно было бы интересно узнать как делается в "рабочих проектах".
А организация посторения GUI от языка вообще мало зависит. Данную форму можно было реализовать и на Яве и в ASP.NET и в Winforms.
Для любого языка просто так накиданные элементы на форме для меня "бардак", с которым низзя работать.
Сделал вот первый вариант, не все так как хотелось и не все "правильно", но вроде все главные условия выполнены.
Ехешник не удалял, так что можно сразу запустить.
Документация получилась размеров в мегабайт, так что выложу просто картинки.