silverlight
发布时间:2022-05-04 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述@H_450_4@
通过Tag属性可以设置自定义的数据,使用GetCellContent方法可以到单元格内的控件,所以就可以得到你点击的是哪一行了。点击的操作就很容易了。 下面的是全部的源代码 Page,xaml <UserControl xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
通过Tag属性可以设置自定义的数据,使用GetCellContent方法可以到单元格内的控件,所以就可以得到你点击的是哪一行了。点击的操作就很容易了。
下面的是全部的源代码
Page,xaml
-
<UserControl xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
-
x:Class="DataGridSnippets.Page"
-
xmlns="http://scheR_225_11845@as.microsoft.com/winfx/2006/xaml/presentation"
-
xmlns:x="http://scheR_225_11845@as.microsoft.com/winfx/2006/xaml"
-
Width="600" Height="Auto">
-
<ScrollViewer VerticalScrollBarVisibility="Auto" BorderThickness="0">
-
<StackPanel @H_919_41@margin="10,10,10">
-
<data:DataGrid x:Name="dataGrid1"
-
Height="200" @H_919_41@margin="0,5,10"
-
AutoGeneratecolumns="false" LoadingRow="dataGrid1_LoadingRow">
-
<data:DataGrid.columns>
-
<data:DataGridTextcolumn Header="序号" Width="120" Binding="{Binding indexNamE}" />
-
<data:DataGridTextcolumn Header="姓名" Width="120" Binding="{Binding UserNamE}" />
-
<data:DataGridTextcolumn Header="地址" Width="120" Binding="{Binding Address}" />
-
<data:DataGridTemplatecolumn Header="功能按钮" Width="80">
-
<data:DataGridTemplatecolumn.CellTemplate>
-
<DataTemplate>
-
<StackPanel Orientation="Horizontal">
-
<Button Content="初始化内容" x:Name="Button1" Click="Button1_Click" Tag=""></Button>
-
</StackPanel>
-
</DataTemplate>
-
</data:DataGridTemplatecolumn.CellTemplate>
-
</data:DataGridTemplatecolumn>
-
</data:DataGrid.columns>
-
</data:DataGrid>
-
<TextBlock x:Name="msg"></TextBlock>
-
</StackPanel>
-
</ScrollViewer>
-
</UserControl>
Page.xam
l.cs
-
using System;
-
using System.Collections.Generic;
-
using System.Windows;
-
using System.Windows.Controls;
-
namespace DataGridSnippets
- {
-
public partial class Page : UserControl
- {
-
public Page()
- {
- initializeComponent();
-
- dataGrid1.Itemssource = Customer.GetSampleCustomerList();
- @R_262_8787@
-
private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs E)
- {
- Customer bindData = (Customer)e.Row.DataContext;
-
Button btn = dataGrid1.columns[3].GetCellContent(e.Row).FindName("Button1") as Button;
- btn.Content = bindData.UserName;
-
btn.Tag = bindData.IndexName + "," + e.Row.GeTindex();
- @R_262_8787@
-
private void Button1_Click(object sender, routedEventArgs E)
- {
-
Button b = sender as Button;
-
String[] t = b.Tag.ToString().Split(',');
-
msg.Text = "你选择的值是:" + t[0] + " 是 DataGrid 的第 " + t[1] + " 行";
- @R_262_8787@
- }
-
-
-
-
public class Customer
- {
-
public Int32 indexName { get; set; }
-
public String UserName { get; set; }
-
public String Address { get; set; }
-
public Customer(Int32 indexName, String userName, String address)
- {
-
this.IndexName = indexName;
-
this.UserName = userName;
-
this.Address = address;
- @R_262_8787@
-
public static List<Customer> GetSampleCustomerList()
- {
-
-
List<Customer> data = new List<Customer>();
-
for(int i = 0;i<10;i++)
- {
-
data.Add(new Customer(i*i, "孟宪会之" + i.ToString(), "地址之" + i.ToString()));
- @R_262_8787@
-
return data;
- @R_262_8787@
- }
- }
本文基于Silverlight 2.0正式版。
大佬总结
以上是大佬教程为你收集整理的Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值全部内容,希望文章能够帮你解决Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。