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>
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。