# Issue fix: ItemControl綁定後,額外產生一個空白項 今天遇到一個問題,將ItemsControl的ItemSource綁定到ObservableCollection\<T\>後,不知道為什麼,總是會在最後面多出一個空白的項目,ViewModel明明就找不到那項,但詭異的就是會自己生出那項 ```xml= <ItemsControl ItemsSource="{Binding Pictures}"> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <UniformGrid Rows="{Binding RowsCount}" /> </ItemsPanelTemplate> </ItemsControl.ItemsPanel> <ItemsControl.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="Title: " /> <TexeBlock Text="{binding Title}" /> </StackPanel> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> ``` 找了很久,還一直以為是前面再改什麼東西改到了,但好像都不是,最後發現是DataGrid在搞鬼 原來是因為我圖方便,把Pictures綁定到兩個地方,另一個地方就是一個DataGrid,DataGrid特別的地方在於有個可以讓使用者新增資料的功能,預設是開啟的。 還以為DataGrid只是在UI新增一行,沒想到其實是在ViewModel上動手腳... ```xml <DataGrid ItemSource="{Binding Pictures}"/> ``` 兩個解法 1. 綁定到不同物件 2. 讓使用者不能在DataGrid上直接添加資料 改成 ```xml <DataGrid ItemSource="{Binding Pictures}" CanUserAddRows="False"/> ``` ###### tags: `C#` `WPF` `Issue fix` `MVVM`