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

  1. <UserControl xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
  2.     x:Class="DataGridSnippets.Page"
  3.     xmlns="http://scheR_225_11845@as.microsoft.com/winfx/2006/xaml/presentation" 
  4.     xmlns:x="http://scheR_225_11845@as.microsoft.com/winfx/2006/xaml" 
  5.     Width="600" Height="Auto">
  6.   <ScrollViewer VerticalScrollBarVisibility="Auto" BorderThickness="0">
  7.     <StackPanel @H_919_41@margin="10,10,10">     
  8.       <data:DataGrid x:Name="dataGrid1" 
  9.       Height="200" @H_919_41@margin="0,5,10"
  10.       AutoGeneratecolumns="false" LoadingRow="dataGrid1_LoadingRow">
  11.         <data:DataGrid.columns>
  12.           <data:DataGridTextcolumn  Header="序号" Width="120"  Binding="{Binding indexNamE}" />
  13.           <data:DataGridTextcolumn  Header="姓名" Width="120"  Binding="{Binding UserNamE}" />
  14.           <data:DataGridTextcolumn  Header="地址" Width="120"  Binding="{Binding Address}" />
  15.           <data:DataGridTemplatecolumn Header="功能按钮"  Width="80">
  16.             <data:DataGridTemplatecolumn.CellTemplate>
  17.               <DataTemplate>
  18.                 <StackPanel Orientation="Horizontal">
  19.                   <Button Content="初始化内容" x:Name="Button1" Click="Button1_Click"  Tag=""></Button>
  20.                 </StackPanel>
  21.               </DataTemplate>
  22.             </data:DataGridTemplatecolumn.CellTemplate>
  23.           </data:DataGridTemplatecolumn>
  24.         </data:DataGrid.columns>
  25.       </data:DataGrid>
  26.       <TextBlock x:Name="msg"></TextBlock>
  27.     </StackPanel>
  28.   </ScrollViewer>
  29. </UserControl>
Page.xaml.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. namespace DataGridSnippets
  6. {
  7.   public partial class Page : UserControl
  8.   {
  9.     public Page()
  10.     {
  11.       initializeComponent();
  12.       //绑定数据
  13.       dataGrid1.Itemssource = Customer.GetSampleCustomerList();
  14. @R_262_8787@
  15.     private void dataGrid1_LoadingRow(object sender, DataGridRowEventArgs E)
  16.     {      
  17.        Customer bindData = (Customer)e.Row.DataContext;
  18.        Button btn = dataGrid1.columns[3].GetCellContent(e.Row).FindName("Button1"as Button;
  19.        btn.Content = bindData.UserName;
  20.        btn.Tag = bindData.IndexName + "," + e.Row.GeTindex();
  21. @R_262_8787@
  22.     private void Button1_Click(object sender, routedEventArgs E)
  23.     {     
  24.       Button b = sender as Button;
  25.       String[] t = b.Tag.ToString().Split(',');
  26.       msg.Text = "你选择的值是:" + t[0] + " 是 DataGrid 的第 " + t[1] + " 行";
  27. @R_262_8787@
  28.   }
  29.   /// <sumMary>
  30.   /// 数据对象
  31.   /// </sumMary>
  32.   public class Customer
  33.   {
  34.     public Int32 indexName { getset; }
  35.     public String UserName { getset; }
  36.     public String Address { getset; }
  37.     public Customer(Int32 indexName, String userName, String address)
  38.     {
  39.       this.IndexName = indexName;
  40.       this.UserName = userName;
  41.       this.Address = address;
  42. @R_262_8787@
  43.     public static List<Customer> GetSampleCustomerList()
  44.     {
  45.       //示例数据
  46.       List<Customer> data = new List<Customer>();
  47.       for(int i = 0;i<10;i++)
  48.       {
  49.         data.Add(new Customer(i*i, "孟宪会之" + i.ToString(), "地址之" + i.ToString()));
  50.   @R_262_8787@    
  51.       return data;
  52. @R_262_8787@
  53.   }
  54. }

本文基于Silverlight 2.0正式版。

大佬总结

以上是大佬教程为你收集整理的Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值全部内容,希望文章能够帮你解决Silverlight 2.0 中 DataGrid得到模板列中的按钮,并得到所点击的行号和键值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。