Отображение нескольких элементов динамически с помощью DataTemplate, но без использования списка или аналогичного

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

  • Row1
    • Group1
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4
    • Group2
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4
    • Group3
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4
  • Row2
    • Group1
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4
    • Group2
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4
    • Group3
      • Label1 : Value1
      • Label2: Value2
      • Label3: Value3
      • Label4: Value4

Все это определено в базе данных, и хотя мой объект (состоящий из множества моделей представления с использованием наблюдаемых коллекций) определен правильно, и я могу отображать все данные соответственно, мне не нравится то, что я сделал !!

У меня есть LongListMultiSelector, который содержит все мои строки (эта часть в порядке), но затем у меня есть ListBox для каждой из групп, и в каждой из групп у меня есть еще один ListBox для отображения всех моих меток и значений, НО

Моя проблема в том, что я могу «перетащить» группы (хотя и сложно), но я могу перетащить метки и значения, поскольку они являются элементами в списках, что выглядит ужасно!

Есть ли способ отобразить эти данные в сетке, например, без прокрутки ?? Я просто хочу отобразить данные, как упомянуто выше, но я не хочу, чтобы пользователь мог что-либо перетаскивать, кроме прокрутки от строки к строке, если это имеет смысл!

Есть ли способ отключить прокрутку списка? Следует ли это делать так? Также я не хочу использовать, чтобы иметь возможность выбирать / выделять конкретную метку или поле, нажав на него, поэтому эти части также должны быть отключены или, по крайней мере, выделение должно быть того же цвета, что и по умолчанию, чтобы не показывать!

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

Не уверен, что честно. Может кто-нибудь посоветовать?

Большое спасибо.


person Thierry    schedule 25.06.2013    source источник


Ответы (1)


Я нашел статью о stackoverflow, и это то, что мне нужно для решения моей проблемы.

Я не уверен, правильно это или нет, но это определенно помогло мне.

Теперь мне нужно выяснить, как отключить «касание» при пролистывании моего LongListMultiSelector, но это еще одна проблема, но в целом наличие списка в списке внутри LongMultiSelector можно очень хорошо решить, отключив прокрутку.

person Thierry    schedule 26.06.2013