解决方法就是在绑定之前先置空.
dgFloor.ItemsSource = null;
dgFloor.ItemsSource = floorRoomList;
问题如下:
比如页面加载的时候执行一个绑定

大气象
//楼层
//DataGrid数据模型
List<FloorRoomModel> floorRoomList = new List<FloorRoomModel>();
public class FloorRoomModel
{
public string ID { get; set; }
public FloorRoomModel(string _ID)
{
ID = _ID;
}
public FloorRoomModel() { }
}
//绑定楼层
private void BindFloor(string ID)
{
XElement elFloor = GetElByID("Floor", ID);
//绑定DataGrid
floorRoomList.Clear();
floorRoomList.Add(new FloorRoomModel("1"));
floorRoomList.Add(new FloorRoomModel("2"));
dgFloor.ItemsSource = floorRoomList;
dgFloor.CanUserSortColumns = false;
dgFloor.IsReadOnly = true;
}
点击按钮事件,重新绑定。

大气象
//删除
private void btnDelete_Click(object sender, RoutedEventArgs e)
{
//绑定DataGrid
floorRoomList.Clear();
floorRoomList.Add(new FloorRoomModel("2"));
floorRoomList.Add(new FloorRoomModel("3"));
dgFloor.ItemsSource = floorRoomList;
dgFloor.CanUserSortColumns = false;
dgFloor.IsReadOnly = true;
MessageBox.Show("");
}
不什么什么原因,DataGrid数据不刷新。
WebForm有GridView1.DataBind();重新绑定。
Silverlight没有。
另外,当我单击一下DataGrid数据才会刷新。
参考:
http://space.cnblogs.com/question/15986/
http://topic.csdn.net/u/20100723/08/bf3a83a8-94cb-44ab-9e90-40fd901d2d87.html


