|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Всем привет! Собственно структура изображена на картинке внизу. Теперь чего требуется: Есть коллекция объектов у которых есть св-во ID по мимо прочих. Мне нужно вывести список этих объектов в таблице как на рисунке ниже. В каждой строке находится ИМЯ объекта и три кнопки (ImageButton планирую исп-ть, но это не суть, можно и на примере обычного объяснить). Ну и соответственно по клику на кнопке в таблице должно происходить то или иное действие. Вот я тут в затруднении какими средствами это в XAML (Windows Store Application) сделать. Не трудно взять ListView или GridView и прибиндить к нему нужную коллекцию и DataTemplate потом кнопки вставить. Но вот будут ли эти кнопки работать и если да то как потом выйти в итоге на Item к которому относится кнопка? Мне пока не понятно. А вы как бы такое сделали? Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 19:25 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Проверил с ListView - кнопки работают. Остался один вопрос - как достучатся до Itema? .Parent для кнопки возвращает Grid ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 19:39 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Свойство DataContext там есть как в WPF? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.05.2013, 19:51 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Алексей КСвойство DataContext там есть как в WPF? У какого объекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:34 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
У Button'а вроде есть если так спросить: ((Button)sender).DataContext А дальше как? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:36 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Как-то так: Код: c# 1. 2. 3.
MyViewModel - это класс, для которого построен DataTemplate; ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:41 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Алексей ККак-то так: Код: c# 1. 2. 3.
MyViewModel - это класс, для которого построен DataTemplate; Спасибо, сейчас попробую. А пока вот так получилось до индекса достучаться. var item = (sender as FrameworkElement).DataContext; int index = MyListView.Items.IndexOf(item); MyViewModel в моём случае MyListView, верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:49 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
M234Алексей ККак-то так: Код: c# 1. 2. 3.
MyViewModel - это класс, для которого построен DataTemplate; Спасибо, сейчас попробую. А пока вот так получилось до индекса достучаться. var item = (sender as FrameworkElement).DataContext; int index = MyListView.Items.IndexOf(item); MyViewModel в моём случае MyListView, верно? Ой не, не MyListView, а класс который исп-ся в прибинженой коллекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:52 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Алексей ККак-то так: Код: c# 1. 2. 3.
MyViewModel - это класс, для которого построен DataTemplate; Спасибо, так тоже получилось. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 11:52 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Всегда пожалуйста. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 12:00 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Я обычно в класс Item добавляю интерфейс с нужными командами, потом вытаскиваю Item по его Id например. В интерфейсе можно накидать делегатов и ивентхендлеров на любой вкус. Template можно организовать в виде грида, там же сделать колонки для кнопок. Кнопки завязываются на ViewModel также как и свойства Item. Такой способ позволяет реализовать практически любой сценарий без головной боли. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2013, 18:47 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Зачем вообще получать item? По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 01:44 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
MonochromatiqueЗачем вообще получать item? По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод. Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 09:17 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Согласен, идея с тремя кнопками крайне сомнительна. Но я обсуждал лишь "как теперь по кнопке получить item?" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 10:29 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
item передается команде как параметр c помощью binding relative ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 13:38 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
MonochromatiqueЗачем вообще получать item? По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.А если вьюмодель кодогенерирована из WCF, EF (и т. п.) и нет возможности (или желания) лепить к ней partial class с командами и логикой? Остаётся обёртывать данные в ещё один класс, со всеми вытекающими... Таки запись лучше передавать команде через CommandParameter. Если нет желания делать ICommand (а такое нежелание может быть вполне оправдано) извлекание записи из sender грозит только зависимостью от FrameworkElement. А особого вреда от такой зависимости вроде как нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 13:56 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
SeVaMonochromatiqueЗачем вообще получать item? По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод. Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку.Располагать кнопки по-старинке в тулбаре или контекстном меню нынче уже не модно? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 14:00 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Алексей КSeVaпропущено... Это пример UI pattern'a из html c убогими возможностями. в xaml делают иначе: кнопки появляются только при наведении курсора на запись и\или ее выделении, чтобы не загромождать интерфейс и не заставлять пользователя делать лишних телодвижений для перемещения на отдельно стоящую кнопку.Располагать кнопки по-старинке в тулбаре или контекстном меню нынче уже не модно? А зачем тянутся через весь экран или дополнительно клацать правой кнопкой, если это можно сразу сделать на кнопке, которая не мозолит глаза. Помимо этого можно еще показывать более детально информацию на выбранной записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 19:16 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Алексей КMonochromatiqueЗачем вообще получать item? По уму не так надо делать. Каждая viewModel представляет из твой item в списке. Действие в кнопке привязываешь к команде viewModel-и и твой action запускается в том item-е на котором щелкнул юзер. А получать данные через кнопку - это просто г@внокод.А если вьюмодель кодогенерирована из WCF, EF (и т. п.) и нет возможности (или желания) лепить к ней partial class с командами и логикой? Остаётся обёртывать данные в ещё один класс, со всеми вытекающими... Таки запись лучше передавать команде через CommandParameter. Если нет желания делать ICommand (а такое нежелание может быть вполне оправдано) извлекание записи из sender грозит только зависимостью от FrameworkElement. А особого вреда от такой зависимости вроде как нет. ICommand должен быть в ViewModel, чтобы не было вредных зависимостей и жесткой связанности. Не раз доводилось по ходу проекта переделывать интерфейс. ViewModel можно и нужно делать обобщенным с набором необходимых команд. МСУ я уже показывал кусочек с контроллерами, эту историю можно продолжить дальше и сократить код до минимума. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2013, 19:22 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
SeVaА зачем тянутся через весь экран или дополнительно клацать правой кнопкой, если это можно сразу сделать на кнопке, которая не мозолит глаза.Мозолит, место занимает, а его мало. SeVaПомимо этого можно еще показывать более детально информацию на выбранной записи.Не понравилось, когда выбранный элемент меняет размеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 05:51 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
SeVaViewModel можно и нужно делать обобщенным с набором необходимых команд.Её можно вообще не делать, если использовать что-то вроде ObjectDataProvider. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 06:17 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
Если ты обнаружил, что тебе не нужен более ViewModel, архитектура приложения создана неверно. ViewModel является ключевым модулем логики. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 01:40 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
А знает кто как до настроек встроенной Webcam у Surface/Win RT добраться? Ну что бы там яркость изменить и тп. Я имею ввиду из приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 02:10 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
skoleЕсли ты обнаружил, что тебе не нужен более ViewModel, архитектура приложения создана неверно. ViewModel является ключевым модулем логики.Мне всегда казалось, что логика живёт в сервисах модели. А тут вон оно как... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 14:12 |
|
Как бы мне такую хитрую структуру в XAML изобразить?
|
|||
---|---|---|---|
#18+
M234А знает кто как до настроек встроенной Webcam у Surface/Win RT добраться? Ну что бы там яркость изменить и тп. Я имею ввиду из приложения. Нашёл. На пример: Код: c# 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2013, 17:08 |
|
|
start [/forum/topic.php?fid=21&msg=38282787&tid=1441380]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
149ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 551ms |
0 / 0 |