• WPF DataGrid 操作列 类似 LinkButton


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

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

     

    具体实现代码如下:

    <DataGrid Name="dgData" IsReadOnly="true" AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTemplateColumn Header="操作">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Button Name="btnInput" Content="填单" Cursor="Hand" Click="btnInput_Click" Margin="5,0,5,0">
                                <Button.Template>
                                    <ControlTemplate TargetType="Button">
                                        <TextBlock TextDecorations="Underline" Name="btnInput" >  
                                                <ContentPresenter />
                                        </TextBlock>
                                    </ControlTemplate>
                                </Button.Template>
                                <Button.Style>
                                    <Style TargetType="Button">
                                        <Setter Property="Foreground" Value="Blue" />
                                        <Style.Triggers>
                                            <Trigger Property="IsMouseOver" Value="true">
                                                <Setter Property="Foreground" Value="Red" />
                                            </Trigger>
                                        </Style.Triggers>
                                    </Style>
                                </Button.Style>
                            </Button>
                            <Button  Name="btnCancel" Content="取消" Cursor="Hand" Click="btnCancel_Click" Margin="5,0,5,0">
                                <Button.Template>
                                    <ControlTemplate TargetType="Button">
                                        <TextBlock TextDecorations="Underline" Name="btnCancel" >  
                                        <ContentPresenter />
                                        </TextBlock>
                                    </ControlTemplate>
                                </Button.Template>
                                <Button.Style>
                                    <Style TargetType="Button">
                                        <Setter Property="Foreground" Value="Blue" />
                                        <Style.Triggers>
                                            <Trigger Property="IsMouseOver" Value="true">
                                                <Setter Property="Foreground" Value="Red" />
                                            </Trigger>
                                        </Style.Triggers>
                                    </Style>
                                </Button.Style>
                            </Button>
                        </StackPanel>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
    前台代码
    private void btnInput_Click(object sender, RoutedEventArgs e)
    {
        DataRowView drv = this.dgData.CurrentItem as DataRowView;
        if (drv != null)
        {
            string ID = drv.Row["ID"].ToString();
        }
    }
    
    private void btnCancel_Click(object sender, RoutedEventArgs e)
    {
        DataRowView drv = this.dgData.CurrentItem as DataRowView;
        if (drv != null)
        {
            string ID = drv.Row["ID"].ToString();
        }
    }
    后台代码

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

  • 相关阅读:
    Mysql 服务无法启动 服务没有报告任何错误
    mysql国内镜像下载网址
    windows上自动设置java环境变量的脚本
    史上最详细的新浪广告系统技术架构优化历程
    十分钟理解广告系统
    Nginx基础配置指令
    nginx配置详情(总结)
    利用tcpdump抓包工具监控TCP连接的三次握手和断开连接的四次挥手
    Windows7配置QT-Android开发环境!
    一位计算机专业硕士毕业生的求职经历和感想[转载]
  • 原文地址:https://www.cnblogs.com/wsk198726/p/5667608.html
Copyright © 2020-2023  润新知