什么会导致第三列中表现出的行为?
显示的数据是存储在集合中的对象的随机创建的字段。集合被填充后,集合被绑定在 Main Page 构造函数中。我已经在调试中多次单步执行该应用程序,并且正在为每一行/对象重新生成数据。但是如果我只是在没有调试的情况下运行,我会得到这种行为。从第二个项目开始的第三个属性/列会重复。
相关 XAML:
<sdk:DataGrid AutoGenerateColumns="False" Grid.Column="1" Grid.Row="1" Height="400" HorizontalAlignment="Left" Margin="0,26,0,0" Name="dgList" VerticalAlignment="Top">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Location}" CanUserResize="True" Width="Auto" x:Name="objLocation" />
<sdk:DataGridTextColumn Binding="{Binding Name}" CanUserResize="True" Width="Auto" x:Name="objName" />
<sdk:DataGridTextColumn Binding="{Binding UPC}" CanUserResize="True" Width="Auto" x:Name="objUPC" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>
Main_Page 后面的代码:
public Collection<MyClass> myList;
public MainPage()
{
InitializeComponent();
myList = new Collection<MyClass>();
CreateHexGrid(8, 10, 30);
dgList.ItemsSource = myList;
}
...
private void AddObjects(Point[, ,] HexPoint, int columns, int rows, double length)
{
....
string loc = col.ToString() + row.ToString();
myList.Add(new MyClass(loc));
}
跨浏览器的行为是一致的。
附加信息 ---
当我使用调试逐步完成此操作时,我没有得到这种行为。第三列生成一个预期的唯一字符字符串。
所以,我的问题是......我的 MainPage 如何在完成初始化之前将 MyClass 对象添加到 MyList 中?