Выбор списка неправильный, когда элемент вставлен дважды - PullRequest
0 голосов
/ 13 марта 2012

У меня есть два списка, которые я связываю с одним и тем же выбранным индексом. Причина этого в том, что в первом я вводю некоторые вещи, а затем указываю, к какому свойству они относятся:

Например:

  • Птица
  • собака
  • Рыба

Может сочетаться с

  • Дом
  • Garder
  • Гостиная

Все отлично работает, когда каждый предмет встречается только один раз, но когда у меня есть что-то вроде

  • Дом собаки
  • Рыбный домик

Тогда синхронизация не работает. Я попытался IsSynchronizedWithCurrentItem="True", но это дало мне исключение при открытии страницы.

Это код для списков

<ListBox BorderBrush="{x:Null}" Grid.Column="0" HorizontalAlignment="Stretch"
         ItemsSource="{Binding Animals}"
         SelectedItem="{Binding SelectedListBoxItem,Mode=TwoWay}" 
         SelectedIndex="{Binding SelectedIndex,Mode=TwoWay}"
         ItemTemplate="{StaticResource ListBoxItemTemplate}"/>
<ListBox BorderBrush="{x:Null}" Grid.Column="1" HorizontalAlignment="Stretch"
         ItemsSource="{Binding Places}"
         SelectedIndex="{Binding SelectedIndex,Mode=TwoWay}"
         ItemTemplate="{StaticResource ListBoxItemTemplate}"/>

Только чтобы не запутаться в табличке с данными

<DataTemplate x:Key="ListBoxItemTemplate">
    <TextBlock Text="{Binding Name}" Height="15"/>
</DataTemplate>

EDIT: Когда я хочу установить значение true, я вижу в конструкторе следующее сообщение

[Selector_IsSynchronizedWithCurrentItemCannotSetToTrue] Arguments: Debugging resource strings are unavailable. Often the key and arguments provide sufficient ....

Количество элементов в обоих списках всегда одинаково.

Исключением (ошибка веб-страницы) является общий

Line: 1 Error: Unhandled Error in Silverlight Application Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))

Ответы [ 2 ]

0 голосов
/ 21 апреля 2012

Я столкнулся с той же проблемой на Windows Phone 7.1. Внутреннее исключение было похоже на следующее: установка IsSynchronizedWithCurrentItem в значение true не поддерживается

0 голосов
/ 13 марта 2012

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

Надеюсь, это кому-нибудь поможет ...

...