У меня есть два списка, которые я связываю с одним и тем же выбранным индексом. Причина этого в том, что в первом я вводю некоторые вещи, а затем указываю, к какому свойству они относятся:
Например:
Может сочетаться с
Все отлично работает, когда каждый предмет встречается только один раз, но когда у меня есть что-то вроде
Тогда синхронизация не работает.
Я попытался 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))