WPF中没有类似LinkButton,所以只有运用Button及样式来实现LinkButton。

DataGrid 操作列 实现 多个类似LinkButton按钮:

具体实现代码如下:

  1. <DataGrid Name="dgData" IsReadOnly="true" AutoGenerateColumns="False">
  2. <DataGrid.Columns>
  3. <DataGridTemplateColumn Header="操作">
  4. <DataGridTemplateColumn.CellTemplate>
  5. <DataTemplate>
  6. <StackPanel Orientation="Horizontal">
  7. <Button Name="btnInput" Content="填单" Cursor="Hand" Click="btnInput_Click" Margin="5,0,5,0">
  8. <Button.Template>
  9. <ControlTemplate TargetType="Button">
  10. <TextBlock TextDecorations="Underline" Name="btnInput" >
  11. <ContentPresenter />
  12. </TextBlock>
  13. </ControlTemplate>
  14. </Button.Template>
  15. <Button.Style>
  16. <Style TargetType="Button">
  17. <Setter Property="Foreground" Value="Blue" />
  18. <Style.Triggers>
  19. <Trigger Property="IsMouseOver" Value="true">
  20. <Setter Property="Foreground" Value="Red" />
  21. </Trigger>
  22. </Style.Triggers>
  23. </Style>
  24. </Button.Style>
  25. </Button>
  26. <Button Name="btnCancel" Content="取消" Cursor="Hand" Click="btnCancel_Click" Margin="5,0,5,0">
  27. <Button.Template>
  28. <ControlTemplate TargetType="Button">
  29. <TextBlock TextDecorations="Underline" Name="btnCancel" >
  30. <ContentPresenter />
  31. </TextBlock>
  32. </ControlTemplate>
  33. </Button.Template>
  34. <Button.Style>
  35. <Style TargetType="Button">
  36. <Setter Property="Foreground" Value="Blue" />
  37. <Style.Triggers>
  38. <Trigger Property="IsMouseOver" Value="true">
  39. <Setter Property="Foreground" Value="Red" />
  40. </Trigger>
  41. </Style.Triggers>
  42. </Style>
  43. </Button.Style>
  44. </Button>
  45. </StackPanel>
  46. </DataTemplate>
  47. </DataGridTemplateColumn.CellTemplate>
  48. </DataGridTemplateColumn>
  49. </DataGrid.Columns>
  50. </DataGrid>

前台代码

  1. private void btnInput_Click(object sender, RoutedEventArgs e)
  2. {
  3. DataRowView drv = this.dgData.CurrentItem as DataRowView;
  4. if (drv != null)
  5. {
  6. string ID = drv.Row["ID"].ToString();
  7. }
  8. }
  9.  
  10. private void btnCancel_Click(object sender, RoutedEventArgs e)
  11. {
  12. DataRowView drv = this.dgData.CurrentItem as DataRowView;
  13. if (drv != null)
  14. {
  15. string ID = drv.Row["ID"].ToString();
  16. }
  17. }

后台代码

刚开始接触WPF,如有不妥之处望指正。

WPF DataGrid 操作列 类似 LinkButton的更多相关文章

  1. WPF DataGrid某列使用多绑定后该列排序失效,列上加入 SortMemberPath 设置即可.

    WPF DataGrid某列使用多绑定后该列排序失效 2011-07-14 10:59hdongq | 浏览 1031 次  悬赏:20 在wpf的datagrid中某一列使用了多绑定,但是该列排序失 ...

  2. WPF DATAGrid 空白列 后台绑定列 处理

    原文:WPF DATAGrid 空白列 后台绑定列 处理 AutoGenerateColumns <DataGrid x:Name="dataGrid" Margin=&qu ...

  3. wpf DataGrid CheckBox列全选

    最近在wpf项目中遇到当DataGrid的header中的checkbox选中,让该列的checkbox全选问题,为了不让程序员写自己的一堆事件,现写了一个自己的自定义控件 在DataGrid的 &l ...

  4. WPF DataGrid自定义列DataGridTextColumn.ElementStyle和DataGridTemplateColumn.CellTemplate

    <Window x:Class="DataGridExam.MainWindow"        xmlns="http://schemas.microsoft.c ...

  5. C# WPF DataGrid 隔行变色及内容居中对齐

    C# WPF DataGrid 隔行变色及内容居中对齐. dqzww NET学习0     先看效果: 前台XAML代码: <!--引入样式文件--> <Window.Resourc ...

  6. WPF 用 DataTemplate 合并DataGrid列表列头<类似报表设计>及行头列头样式 - 学习

    WPF中 DataGrid 列头合并,类似于报表设计.效果图如下↓ 1.新建一个WPF项目WpfApplication1,新建一个窗体DataGridTest,前台代码如下: <Window x ...

  7. WPF中使用DataGrid时操作列按钮问题

    在使用DataGrid的过程中,我们有时候需要对选取的某一行数据进行多个操作,这个时候操作列只有一个按钮显然无法满足我们的要求,我们需要多个按钮才能达到我们的目的. UI页面代码: <Grid& ...

  8. 编写 WPF DataGrid 列模板,实现更好的用户体验

    Julie Lerman 下载代码示例 最近我在为一个客户做一些 Windows Presentation Foundation (WPF) 方面的工作. 虽然我提倡使用第三方工具,但有时也会避免使用 ...

  9. WPF datagrid 列按钮使用

    原文:WPF中使用DataGrid时操作列按钮问题     <DataGrid x:Name="datagrid" AutoGenerateColumns="Fal ...

随机推荐

  1. Approaching the Fun Factor in Game Design

    I recently did some research on this and talked to Dr. Clayton Lewis (computer Scientist in Residenc ...

  2. OverHust

    https://github.com/fanhongwei/OverHust https://github.com/eltld/OverHust

  3. MySQL 5.7 深度解析: 临时表空间

    http://www.actionsky.com/docs/archives/159  2016年1月8日  杨涛涛 先来说说临时表的概念. 临时表顾名思义,就是临时的,用完销毁掉的表. 数据既可以保 ...

  4. 如何使用strace+pstack利器分析程序性能

    http://www.cnblogs.com/bangerlee/archive/2012/04/30/2476190.html

  5. 如何制作gif动画,丰富自己的博客?

    不久前在博客园上看到有个哥们发表了一篇博客,其中使用了大量的动态的gif动画,感觉这种方法对于丰富博客内容非常有帮助,然后在网上搜索了一些关于制作gif动画的资料.我的方法不一定好,在这里仅作为抛砖引 ...

  6. 关于Android LinearLayout添加分隔线的方法

    目前了解的办法有两个:1.自定义一个view当作分隔线:2.使用高版本的分隔线属性 一.在需要添加分隔线的地方,添加一个view,比如ImageView,TextView等都可以,如代码,关键是设置高 ...

  7. Specialized Four-Digit Numbers

    Problem Description Find and list all four-digit numbers in decimal notation that have the property ...

  8. css文字截取

    给文字设置宽度 text-overflow:ellipsis;  //超出部分用...表示 white-space:nowrap; //禁止换行 overflow:hidden; //超出部分的文字隐 ...

  9. 【Shell脚本学习10】Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等

    Bash 支持很多运算符,包括算数运算符.关系运算符.布尔运算符.字符串运算符和文件测试运算符. 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最 ...

  10. 如何使上层的div遮住的链接可以点击

    pointer-events属性 http://www.css88.com/book/css/properties/user-interface/pointer-events.htm 在上层的div中 ...