2013-03-06 61 views
2

我有一個可觀察的集合綁定到列表框。 收集有2項,但列表框中顯示3項(如2項,實際上是觀察集合併爲NewItemPlaceholder額外的項目。Listbox數據綁定NewItemPlaceholder

我希望它只顯示2項。

下面是我的XAML

<ListBox MinHeight="20" MinWidth="20" Name="MultipleSelectionsMultipleWagersListBox" Visibility="{Binding Path=Coupon.BarcodeText, Converter={StaticResource CouponBarcodeToVisibilityConverter1}, ConverterParameter=994450_994550}" Height="AUto" Width="Auto" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="5" 
     ItemsSource="{Binding Path=BetViewModels}" Grid.Row="1" Grid.Column="1" > 
    <ListBox.ItemTemplate> 
     <DataTemplate> 
      <View:BetView DataContext="{Binding}" Name="ThisBet" Margin="5"/> 
     </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

這裏是C#

private ObservableCollection<BetViewModel> _betViewModels = new ObservableCollection<BetViewModel>(); 
    public ObservableCollection<BetViewModel> BetViewModels 
    { 
     get { return _betViewModels; } 
     set 
     { 
      if (Equals(value, _betViewModels)) return; 
      _betViewModels = value; 
      OnPropertyChanged("BetViewModels"); 
     } 
    } 

這裏被填充betViewModels代碼:

var betViewModel = new BetViewModel { Bet = new Bet() }; 
betViewModel.Bet.SelectionName = "Chelsea"; 
betViewModel.Bet.Price = "4/9"; 
betViewModel.Bet.Market = "90 Minutes"; 
betViewModel.Bet.ExpectedOdd = DateTime.Now; 
BetViewModels.Add(betViewModel); 

betViewModel = new BetViewModel { Bet = new Bet() }; 
betViewModel.Bet.SelectionName = "Chelsea"; 
betViewModel.Bet.Price = "4/9"; 
betViewModel.Bet.Market = "90 Minutes"; 
betViewModel.Bet.ExpectedOdd = DateTime.Now; 
BetViewModels.Add(betViewModel); 

如何從展示新項目的地方

在這裏的附加項目切換的,這是它的顯示的佔位符圖像

enter image description here

+2

沒有在你這裏顯示了什麼指示有關您遇到的任何問題。這不是ListBox本身發生的事情,所以你對ItemsSource做的其他事情正在導致這種情況。 – 2013-03-06 14:42:58

+0

@ John Bowen,是因爲我們正在使用DataTemplate(如上所示)? – DermFrench 2013-03-06 14:47:44

+2

不可以。正如我所說,這與您在此處顯示的任何內容無關。你需要顯示你正在做什麼與你的ItemsSource集合。 – 2013-03-06 14:54:43

回答

3

有沒有在你的代碼應該添加一個額外的空項目。可能會有一些其他代碼添加到BetViewModels中,或者如果您將其綁定到其他您未顯示的其他內容(如可編輯的DataGrid),則可能會爲集合生成的ICollectionView發生更改。

0

您的示例代碼是否也提供了此問題?

調試中有多少物品包含您的_betViewModels.count實際上只有2個物品?

看來你在末尾添加一個空BetViewModel

我建議檢查你的邏輯,提供填充您的項目

  • ,如果它是一個循環它應該(counter<yourDatasource.Count)只是舉例