我有一个工程,要多次使用数据表格,每次使用的数据集的列可能不同,那么我就想到写一个UserControl公共控件来使用,将经常对数据集操作的通用的动作放到里面。UserControl中,DataGrid的具体定义如下:
<dg:DataGrid DockPanel.Dock="Top" Name="dgData" ItemsSource="{Binding}" BorderThickness="0" AlternationCount="2" AutoGenerateColumns="True"  ColumnHeaderStyle="{StaticResource dgHeaderStyle}" 
RowStyle="{StaticResource dgRowStyle}" CellStyle="{StaticResource dgCellStyle}" SelectionMode="Extended" 
SelectionUnit="FullRow" GridLinesVisibility="All" VerticalGridLinesBrush="DarkGray">然后在工程里使用这个包含DataGrid的定义好的UserControl,具体实现是使用C#代码创建的,没有在xaml文件中实现(其实效果一样),运行程序发现,DataGrid只可以正常呈现数据集一次,只要我把鼠标放到DataGrid的边框左边或数据单元中点击一下,数据列马上就消失了,数据也看不到了,我用一个信息框打开看到Items.Count>0,Columns.Count=0!问题详细描述见这里(贴图和代码):http://www.cnblogs.com/glowworm/archive/2010/06/07/1753466.html谢谢了!