插入项目两次时列表框选择错误

时间:2012-03-13 14:40:27

标签: c# silverlight listbox

我有两个列表框,我都绑定到相同的选定索引。这样做的原因是,在第一个中我输入一些东西,然后指定它属于哪个属性:

例如:

可与

结合使用
  • 加德纳
  • 客厅

当每个项目只出现一次但我有类似

之类的东西时,一切正常
  • 狗屋
  • 鱼屋

然后同步不起作用。 我试过了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造成一些混淆

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

编辑: 当我想将其设置为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 :(得分:0)

我不是从树视图中添加相同的项目,而是从所选项目中创建一个新项目,然后将其传递到列表框中。这种方式你需要不同的项目,但最后我只关心他们的Id(placeID),所以它并不重要...

希望这有助于某人...

答案 1 :(得分:0)

我在Windows Phone 7.1上遇到了同样的问题。内部异常是这样的:不支持将IsSynchronizedWithCurrentItem设置为true