WPF DataGrid 操作列 類似 LinkButton

来源:http://www.cnblogs.com/wsk198726/archive/2016/07/13/5667608.html
-Advertisement-
Play Games

WPF中沒有類似LinkButton,所以只有運用Button及樣式來實現LinkButton。 DataGrid 操作列 實現 多個類似LinkButton按鈕: 具體實現代碼如下: <DataGrid Name="dgData" IsReadOnly="true" AutoGenerateCol ...


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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Linux文件系統是一個倒立的單根樹狀結構,文件名稱嚴格區分大小寫(windows系統則是對大小寫不明感的)。路徑用“/”分隔,跟windows的“\”不同。 這裡我畫了一張一般Linux系統的正常目錄結構圖: 單根指最頂級的目錄“/”,下麵每個目錄的大致作用如下: bin:保存常用的可執行的二進位 ...
  • 一、常用命令速查 以上是常用命令速查表,以下是命令詳解。 二、Linux 文件/目錄管理類命令詳解 Linux命令詳解之–ls命令 Linux命令詳解之–cd命令 Linux命令詳解之—pwd命令 Linux命令詳解之—cp命令 Linux命令詳解之–scp命令 Linux命令詳解之–mv命令 Li ...
  • 文章內容來自Udacity課程:Linux Command Line Basics--Getting Started with the Shell Your own Linux box To learn the Linux shell, you need a Linux machine to run ...
  • 一、簡介 為提高操作系統穩定性、流暢度,分公司同事PC用戶沒有administrator許可權,導致同事不能對系統進行設置、不能自行安裝軟體。網管使用遠程管理軟體(如Teamviewer、QQ)為同事提供支持,在遠程訪問的狀態下,不能自由地切換到管理員賬號。所以,最好的方法是以管理員身份安裝軟體,要修 ...
  • ``` !/bin/bash USER=test PASS=$USER GROUP=root HOME=/data/home/$USER if user not exist if [[ $(cat /etc/passwd | grep E '^$USER:' c) == "0" ]]; then u ...
  • 安裝完Ubuntu後,進入系統,呈現在眼前的是Ubuntu的界面,跟windows的差不太多。一般操作系統包含GUI和CLI。GUI就是我們現在看到的,也是windows常用的直接用拖拽,點擊等操作對系統進行命令,CLI則使用命令直接對系統進行操作。 右鍵 open Terminal就進入到我們的命 ...
  • 上篇文章介紹了下用vs發佈部署到iis環境,今天說下ubuntu 下部署asp.net core,不需要安裝.net core sdk,自帶運行時方式部署,利用jexus伺服器轉發請求到asp.net core. 1.部署準備環境 vmware虛擬機(其他也可以) ubuntu16.04鏡像 2.發 ...
  • delegate:和枚舉類似既可以定義在類裡面也可以在namespace下。 聲明:public delegate int Entrust(int x, int y); class MyMath { public int add(int x, int y) { return x + y; } pub ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...