1、 数据绑定:GrdLbs.ItemsSource=数据集合对象
2、 普通绑定列
<data:DataGrID.Columns>
<data:DataGrIDTextColumnheader="名称"Binding="{Binding Mc}" />
</data:DataGrID.Columns>
3、 模板列: 不知道为啥套这么多层,为了保暖? >_<
<data:DataGrIDTemplateColumn header="图片" CanUserResize="False">
<data:DataGrIDTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel OrIEntation="Horizontal"VerticalAlignment="Center">
<Image x:name="imglogo" Source="../{BindingPicturePath}" ></Image>
</StackPanel>
</DataTemplate>
</data:DataGrIDTemplateColumn.CellTemplate>
</data:DataGrIDTemplateColumn>
在LoadingRow事件中,获取其中的图片控件:
Image img =GrdLbs.Columns[3].GetCellContent(e.Row).Findname("imglogo") as Image;(图片所在的模板列在第4列时,列序号时3)
如果是获取选中行的图片控件:
Image img = GrdLbs.Columns[3].GetCellContent(GrdLbs.SelectedItem).Findname("imglogo")as Image;
4、 LoadingRow事件
生成行时触发。和普通的GRID不同,Silverlight里的行只在显示时才生成,没显示出来的(需要滚动条显示的),不会生成,滚动隐藏再次显示时,会重新生成。这种特性可能会造成显示的效果和预计的不一样,要略加注意。
同时,如果新生成的行不是DataGrID最后一行的话,则新行的GetIndex会与其下方相邻行的GetIndex返回值相同。WPF会在LoadingRow事件之后再去调整新行下方各行的Index。
5、 DataGrIDRow,即行对象
不像普通的GRID,Silverlight里没有很直观的行集合(因为显示不到的行可能没有生成,或者被销毁了)。在LoadingRow事件里,通过其参数,是唯一获取该DataGrIDRow对象的途径。
6、 遍历单元格
Silverlight遍历单元格的方式,先取得列对象,然后通过其GetCellContent()方法取某行的单元格。该方法的参数是DataGrIDRow,或者绑定数据源中的某条数据, 返回值是代表单元格的FrameworkElement对象。 该对象的Findname()方法,用于取得模板列中的控件。
7、 SelectionChanged也是较常用的事件。
GrdLbs.SelectedItem是选中行相关的实体数据源对象。 Bas_CpLb lb = (Bas_CpLb)GrdLbs.SelectedItem;
8、 模板列中的按钮
和外面的按钮一样,可以使用Click事件,而相关的参数,可以通过Tag属性传递使用。
<button x:name="btnUp" Content="置顶"Click="btnUp_Click" Tag="{Binding ID}"></button>
总结以上是内存溢出为你收集整理的Silverlight中DataGrid的用法全部内容,希望文章能够帮你解决Silverlight中DataGrid的用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)