随笔 - 83,  文章 - 6,  评论 - 20,  阅读 - 10万

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,如有不妥之处望指正。

posted on   £冷☆月№  阅读(481)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示