2011-05-02 84 views
1
<TabItem Name="tbInActive" Header="Previous" Width="100" Height="100"> 
    <ListBox Name="lbActive" 
      DockPanel.Dock="Top" 
      ItemContainerStyle="{DynamicResource SelectedItemContainer}"> 
     <ListBox.ItemTemplate> 
      <DataTemplate > 
       <EventDet:EventSumDetail x:Name="ItemCtrl" 
             SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem}" /> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 
    <!-- ... --> 
</TabItem> 

在我隱藏我試過如何取消選擇列表框數據項模板?

this.lbActive.SelectedItem = null;this.lbActive.UnselectAll();和(編輯)this.lbActive.SelectedIndex = -1;

但他們都沒有效果。

+2

你有沒有嘗試將選定的索引設置爲-1? – LueTm 2011-05-02 19:50:04

+0

@LueTm沒有工作 – 0x4f3759df 2011-05-02 19:55:26

回答

1

沒有理由爲什麼this.lbActive.SelectedItem = null;不應該工作。 (它適用於一個乾淨的石板列表框)

我很確定問題在於您的自定義零件,要麼SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem}"強制選擇,要麼是ItemContainerStyle的綁定。

0

我認爲EventDet:EventSumDetail是一種ListBoxItem或類似的東西。 的問題,你有一個單向(默認)綁定...你必須明確地讓雙向綁定..這樣的:

<EventDet:EventSumDetail SelectedItem="{Binding ElementName=lbInActive, Path=SelectedItem, Mode=TwoWay}" /> 

而且,你不需要域名(X:NAME =」 ItemCtrl「),在這種情況下它是不必要的。

相關問題