powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Программно узнать присоединенное свойство
9 сообщений из 9, страница 1 из 1
Программно узнать присоединенное свойство
    #38431985
WPF Падаван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Искал. гуглил.
Не нашел.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button CurrentButton = sender as Button;
            if (CurrentButton != null)
            { 
                CurrentButton.Get...
            }
        }



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

В принципе, как альтернатива, наверное нужно задать имена для всех кнопок, и проверять его.

Но все же - как прочитать свойство программно ?
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38432046
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
var row = CurrentButton.GetValue(Grid.RowProperty);
?
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38432093
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WPF Падаван,
Код: c#
1.
2.
int column = Grid.GetColumn(CurrentButton);
int row = Grid.GetRow(CurrentButton);
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38432918
WPF Падаван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.

Очень мудреная вещь этот WPF. Надеюсь таки когда то понимать его от и до. Изучаю вот.
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38433159
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WPF Падаван,

если надо узнать в каком столбце/строке находится КНОПКА - то с мечтой "понять WPF" придется попрощаться.
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38433217
WPF Падаван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MonochromatiqueWPF Падаван,

если надо узнать в каком столбце/строке находится КНОПКА - то с мечтой "понять WPF" придется попрощаться.

Объясните пожалуйста.
Я очень много уже встречал на форуме восклициний, что нужно полностью отчищать свой разум от ВинФорм, при изучении WPF. Что нужно мыслить совсем по другому.

А почему конкретно кнопка не должна выяснять свою позицию ?

Я просто решил изучать WPF - программиру игру "пятнашки". Когда есть поле из 16 ячеек, и одна из них свободна.

Хочу написать код, когда по нажатии на кнопку, она будет обмениваться текстом с соседней кнопкой (если у соседней кнопки нет текста, т.е. она является пустой).

Почему я не правильно мыслю ? Мне очень хочется понять.
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38433336
WPF Падаван
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так, как можно написать алгоритм игры "пятнашки" в WPF ?

При нажатии на кнопку, ей нужно как то выяснить где она сейчас, и нет ли рядом с ней свободной кнопки (для простоты я использую текст в кнопках - если он пуст, то эта кнопка считается пустой ячейкой).
Алгоритм игры прост. На ВинФормах я думаю делается минут за 15.

А в WPF говорите это не правильно.

Как правильно ? Научите мыслить по WPF'овски :)
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38433518
maratoss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WPF Падаван,

Я бы тебе посоветовал начать изучение с какой-нибудь книги или статьи по WPF и MVVM.
...
Рейтинг: 0 / 0
Программно узнать присоединенное свойство
    #38433773
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключевое слово MVVM.

Смысл WPF(в разерезе MVVM) в том, что на сцене появляется ViewModel. Это класс, который содержит в себе всю логику отображения модели. ВСЮ. Тогда как View просто отображает то, что скажет ей VM.

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


Исходя из этого, и если по простому, то всю логику "свободных ячеек" ты должен перенести в чистый код, причем код не в code-behind твоего грида, а в спецовый класс ViewModel-и.
Которая ничего не будет знать о представлении.

Как-то так.

P.S. "Кнопочки" на гриде должны быть привязаны к командам(iCommand) своих моделей. Каждая к своей. И поэтому как-то нет нужды выяснять, кто в какой строке и в каком столбце. Потому что нет ни строк, ни столбцов. Я вот выведу все твои пятнашки в какую-нибудь StackPanel и буду нажимать там кнопки (ну вот вижу я в этом смысл), какие ты присоединенные свойства выяснять будешь?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Программно узнать присоединенное свойство
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]