我有一個綁定到可觀察集合的數據網格。 我想在數據網格中選擇幾行,然後單擊一個按鈕並將這些行從集合中刪除。通過在數據網格中選擇它們從ObservableCollection刪除條目
當我嘗試它我的方式我收到一個錯誤「集合被修改;枚舉操作可能不會執行。 「」
我知道錯誤是由於我正在循環雖然改變集合我做了一些研究,並試圖應用我發現的但我似乎可以得到它的工作。
如何使收集,並將其綁定到DataGrid
ObservableCollection<XbmcInfo> SelectedShowSeason = new ObservableCollection<XbmcInfo>();
ToCopy.DataContext = SelectedShowSeason;
我如何努力從集合中刪除值
private void Button_Click_1(object sender, RoutedEventArgs e)
{
var x = ToCopy.SelectedItems;
foreach (XbmcInfo f in x)
{
string ShowName = f.ShowName;
string ShowSeasonNumber = f.Number;
var Selected = SelectedShowSeason.FirstOrDefault(u => u.ShowName == ShowName && u.Number == ShowSeasonNumber);
SelectedShowSeason.Remove(Selected);
}
}
這是爲DataGrid的XML
<DataGrid Name="ToCopy" AutoGenerateColumns="False" ItemsSource="{Binding}" Margin="0,0,0,51" Grid.Row="2" Grid.ColumnSpan="3" IsReadOnly="True" CanUserResizeRows="False" CanUserReorderColumns ="False" IsSynchronizedWithCurrentItem="True">
<DataGrid.Columns>
<DataGridTextColumn Header="ShowName" Width="*" Binding="{Binding Path=ShowName}" />
<DataGridTextColumn Header="Season" Width="50" Binding="{Binding Path=Number}" />
<DataGridTextColumn Header="Path" Width="*" Binding="{Binding Path=Path}"/>
</DataGrid.Columns>
</DataGrid>
我的班級
public class XbmcInfo
{
public string ShowName
{
get;
set;
}
public string Number
{
get;
set;
}
public string Path
{
get;
set;
}
}
並且怎麼樣XAML?你如何做綁定? – sexta13
你在問題中刪除的方式......它仍然在拋出那個錯誤...因爲你沒有在這裏迭代收集? – Nitin