powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как бы мне такую хитрую структуру в XAML изобразить?
26 сообщений из 26, показаны все 2 страниц
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279193
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Собственно структура изображена на картинке внизу.
Теперь чего требуется:
Есть коллекция объектов у которых есть св-во ID по мимо прочих.
Мне нужно вывести список этих объектов в таблице как на рисунке ниже.
В каждой строке находится ИМЯ объекта и три кнопки (ImageButton планирую исп-ть, но это не суть, можно и на примере обычного объяснить).
Ну и соответственно по клику на кнопке в таблице должно происходить то или иное действие.

Вот я тут в затруднении какими средствами это в XAML (Windows Store Application) сделать.
Не трудно взять ListView или GridView и прибиндить к нему нужную коллекцию и DataTemplate потом кнопки вставить.
Но вот будут ли эти кнопки работать и если да то как потом выйти в итоге на Item к которому относится кнопка?
Мне пока не понятно.

А вы как бы такое сделали?
Спасибо.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279205
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проверил с ListView - кнопки работают.
Остался один вопрос - как достучатся до Itema?
.Parent для кнопки возвращает Grid
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279212
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Свойство DataContext там есть как в WPF?
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279858
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КСвойство DataContext там есть как в WPF?

У какого объекта?
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279861
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Button'а вроде есть если так спросить:

((Button)sender).DataContext

А дальше как?
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279874
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то так:
Код: c#
1.
2.
3.
var button = (Button)sender;
var myViewModel = (MyViewModel)button.DataContext;
var id = myViewModel.ID;


MyViewModel - это класс, для которого построен DataTemplate;
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279896
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ККак-то так:
Код: c#
1.
2.
3.
var button = (Button)sender;
var myViewModel = (MyViewModel)button.DataContext;
var id = myViewModel.ID;


MyViewModel - это класс, для которого построен DataTemplate;

Спасибо, сейчас попробую.
А пока вот так получилось до индекса достучаться.

var item = (sender as FrameworkElement).DataContext;
int index = MyListView.Items.IndexOf(item);

MyViewModel в моём случае MyListView, верно?
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279907
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234Алексей ККак-то так:
Код: c#
1.
2.
3.
var button = (Button)sender;
var myViewModel = (MyViewModel)button.DataContext;
var id = myViewModel.ID;


MyViewModel - это класс, для которого построен DataTemplate;

Спасибо, сейчас попробую.
А пока вот так получилось до индекса достучаться.

var item = (sender as FrameworkElement).DataContext;
int index = MyListView.Items.IndexOf(item);

MyViewModel в моём случае MyListView, верно?

Ой не, не MyListView, а класс который исп-ся в прибинженой коллекции.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279908
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей ККак-то так:
Код: c#
1.
2.
3.
var button = (Button)sender;
var myViewModel = (MyViewModel)button.DataContext;
var id = myViewModel.ID;


MyViewModel - это класс, для которого построен DataTemplate;

Спасибо, так тоже получилось.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38279922
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всегда пожалуйста. :-)
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38280716
Фотография skole
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обычно в класс Item добавляю интерфейс с нужными командами, потом вытаскиваю Item по его Id например. В интерфейсе можно накидать делегатов и ивентхендлеров на любой вкус. Template можно организовать в виде грида, там же сделать колонки для кнопок. Кнопки завязываются на ViewModel также как и свойства Item. Такой способ позволяет реализовать практически любой сценарий без головной боли.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282682
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вообще получать item?

По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282715
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЗачем вообще получать item?

По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.
Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282722
Monochromatique
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, идея с тремя кнопками крайне сомнительна. Но я обсуждал лишь "как теперь по кнопке получить item?"
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282781
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
item передается команде как параметр c помощью binding relative
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282787
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MonochromatiqueЗачем вообще получать item?

По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.А если вьюмодель кодогенерирована из WCF, EF (и т. п.) и нет возможности (или желания) лепить к ней partial class с командами и логикой? Остаётся обёртывать данные в ещё один класс, со всеми вытекающими...

Таки запись лучше передавать команде через CommandParameter. Если нет желания делать ICommand (а такое нежелание может быть вполне оправдано) извлекание записи из sender грозит только зависимостью от FrameworkElement. А особого вреда от такой зависимости вроде как нет.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282790
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaMonochromatiqueЗачем вообще получать item?

По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.
Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку.Располагать кнопки по-старинке в тулбаре или контекстном меню нынче уже не модно?
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282939
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КSeVaпропущено...

Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку.Располагать кнопки по-старинке в тулбаре или контекстном меню нынче уже не модно?

А зачем тянутся через весь экран или дополнительно клацать правой кнопкой, если это можно сразу сделать на кнопке, которая не мозолит глаза.
Помимо этого можно еще показывать более детально информацию на выбранной записи.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38282943
SeVa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КMonochromatiqueЗачем вообще получать item?

По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.А если вьюмодель кодогенерирована из WCF, EF (и т. п.) и нет возможности (или желания) лепить к ней partial class с командами и логикой? Остаётся обёртывать данные в ещё один класс, со всеми вытекающими...

Таки запись лучше передавать команде через CommandParameter. Если нет желания делать ICommand (а такое нежелание может быть вполне оправдано) извлекание записи из sender грозит только зависимостью от FrameworkElement. А особого вреда от такой зависимости вроде как нет.

ICommand должен быть в ViewModel, чтобы не было вредных зависимостей и жесткой связанности. Не раз доводилось по ходу проекта переделывать интерфейс. ViewModel можно и нужно делать обобщенным с набором необходимых команд.
МСУ я уже показывал кусочек с контроллерами, эту историю можно продолжить дальше и сократить код до минимума.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38283115
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaА зачем тянутся через весь экран или дополнительно клацать правой кнопкой, если это можно сразу сделать на кнопке, которая не мозолит глаза.Мозолит, место занимает, а его мало.
SeVaПомимо этого можно еще показывать более детально информацию на выбранной записи.Не понравилось, когда выбранный элемент меняет размеры.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38283118
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SeVaViewModel можно и нужно делать обобщенным с набором необходимых команд.Её можно вообще не делать, если использовать что-то вроде ObjectDataProvider.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38284556
Фотография skole
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты обнаружил, что тебе не нужен более ViewModel, архитектура приложения создана неверно. ViewModel является ключевым модулем логики.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38284573
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А знает кто как до настроек встроенной Webcam у Surface/Win RT добраться? Ну что бы там яркость изменить и тп.
Я имею ввиду из приложения.
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38285195
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skoleЕсли ты обнаружил, что тебе не нужен более ViewModel, архитектура приложения создана неверно. ViewModel является ключевым модулем логики.Мне всегда казалось, что логика живёт в сервисах модели. А тут вон оно как... :-)
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38285526
M234
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
M234А знает кто как до настроек встроенной Webcam у Surface/Win RT добраться? Ну что бы там яркость изменить и тп.
Я имею ввиду из приложения.

Нашёл.
На пример:

Код: c#
1.
2.
3.
4.
private MediaCapture _mediaCapture = new MediaCapture();

_mediaCapture.VideoDeviceController.Exposure.TrySetAuto(false); 
_mediaCapture.VideoDeviceController.Exposure.TrySetValue(-8); 
...
Рейтинг: 0 / 0
Как бы мне такую хитрую структуру в XAML изобразить?
    #38285915
Фотография skole
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К, не совсем понял твою мысль, сервисы в моем понимании, это какой-то общий вспомогательный функционал, источники данных, общие интерфейсы, как-то к core логике слабо привязаны.
...
Рейтинг: 0 / 0
26 сообщений из 26, показаны все 2 страниц
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Как бы мне такую хитрую структуру в XAML изобразить?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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