我有一个绑定(bind)到列表框的可观察集合。 该集合有 2 个项目,但列表框显示 3 个项目(例如,实际上在可观察集合中的 2 个项目和 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);
我如何将其从显示新项目位置的附加项目中切换
这是它显示占位符的图像
最佳答案
DataGrid 支持添加新行,这些行必须从空白开始。如果您的 ItemsSource 绑定(bind)到 ListBox/ItemsControl 和 DataGrid,您需要将 DataGrid 的“CanUserAddRows”属性设置为“False”。
我在哪里找到答案:http://www.mindstick.com/Forum/1519/How%20do%20I%20remove%20a%20listbox%20new%20item%20placeholder
关于c# - 列表框数据绑定(bind) NewItemPlaceholder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15249934/