最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WPF+DiffPlex實現(xiàn)文本比對工具

 更新時間:2022年11月19日 15:29:53   作者:黑夜中的潛行者  
現(xiàn)行的文本編輯器大多都具備文本查詢的能力,但是并不能直觀的告訴用戶兩段文字的細微差異,所以對比工具在某種情況下,就起到了很便捷的效率。本文將利用DiffPlex實現(xiàn)簡易的文本比對工具,需要的可以參考一下

背景

現(xiàn)行的文本編輯器大多都具備文本查詢的能力,但是并不能直觀的告訴用戶兩段文字的細微差異,所以對比工具在某種情況下,就起到了很便捷的效率。

關于 DiffPlex

DiffPlex 是用于生成文本差異的 C# 庫

準備

NuGet 包

DiffPlex.Wpf 主要包

MaterialDesignThemes 主題包

代碼實現(xiàn)

MainWindow.xaml

<Window
    x:Class="TextComparisonTool.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:diffplex="clr-namespace:DiffPlex.Wpf.Controls;assembly=DiffPlex.Wpf"
    xmlns:local="clr-namespace:TextComparisonTool"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="文本比對工具"
    Width="800"
    Height="450"
    Icon="DiffPlex.ico"
    WindowState="Maximized"
    mc:Ignorable="d">

    <Grid Margin="5">
        <Grid.RowDefinitions>
            <RowDefinition Height="40" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <WrapPanel>
            <Button
                x:Name="BtnInput"
                Click="BtnInput_Click"
                Content="輸入文本"
                Style="{DynamicResource MaterialDesignFlatAccentBgButton}" />
        </WrapPanel>
        <diffplex:DiffViewer x:Name="DiffView" Grid.Row="1" />
    </Grid>

</Window>

MainWindow.xaml.cs

using System.Windows;

namespace TextComparisonTool
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();           
        }
         

        private void BtnInput_Click(object sender, RoutedEventArgs e)
        {
            InputOldeTextAndNewText input = new();

            input.ShowDialog();

            if (input.DialogResult is true)
            {
                DiffView.OldText = input.txtOldText.Text;
                DiffView.NewText = input.txtNewText.Text;
            }
        }
    }
}

InputOldeTextAndNewText.xaml

<Window
    x:Class="TextComparisonTool.InputOldeTextAndNewText"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    Title="輸入新舊文本"
    Width="850"
    Height="500"
    Icon="DiffPlex.ico"
    ResizeMode="CanMinimize"
    WindowStartupLocation="CenterScreen"
    mc:Ignorable="d">
    <Border Margin="5" CornerRadius="11">
        <StackPanel>
            <TextBlock Style="{DynamicResource MaterialDesignBody1TextBlock}" Text="源文本" />
            <TextBox
                x:Name="txtOldText"
                AcceptsReturn="True"
                MaxLines="10"
                MinLines="10"
                TextWrapping="Wrap" />
            <TextBlock
                VerticalAlignment="Center"
                Style="{DynamicResource MaterialDesignBody1TextBlock}"
                Text="新文本" />
            <TextBox
                x:Name="txtNewText"
                AcceptsReturn="True"
                MaxLines="10"
                MinLines="10"
                TextWrapping="Wrap" />
            <Button
                x:Name="BtnText"
                Margin="10"
                Click="BtnText_Click"
                Content="確認"
                Style="{DynamicResource MaterialDesignFlatButton}" />
        </StackPanel>
    </Border>
</Window>

InputOldeTextAndNewText.xaml.cs

using System.Windows;

namespace TextComparisonTool
{
    /// <summary>
    /// InputOldeTextAndNewText.xaml 的交互邏輯
    /// </summary>
    public partial class InputOldeTextAndNewText : Window
    {
        public InputOldeTextAndNewText()
        {
            InitializeComponent();
        }

        private void BtnText_Click(object sender, RoutedEventArgs e)
        {
            DialogResult = true;
        }
    }
}

效果圖

到此這篇關于WPF+DiffPlex實現(xiàn)文本比對工具的文章就介紹到這了,更多相關WPF DiffPlex文本比對工具內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C# SQLite執(zhí)行效率的優(yōu)化教程

    C# SQLite執(zhí)行效率的優(yōu)化教程

    這篇文章主要給大家介紹了關于C# SQLite執(zhí)行效率優(yōu)化的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用C# SQLite具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-06-06
  • C#精確計算年齡的方法分析

    C#精確計算年齡的方法分析

    這篇文章主要介紹了C#精確計算年齡的方法,實例分析了C#計算時間的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Unity的IPreprocessBuildWithReport實用案例深入解析

    Unity的IPreprocessBuildWithReport實用案例深入解析

    這篇文章主要為大家介紹了Unity的IPreprocessBuildWithReport實用案例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • C#實現(xiàn)簡單工廠模式

    C#實現(xiàn)簡單工廠模式

    這篇文章介紹了C#實現(xiàn)簡單工廠模式的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 解讀在C#中winform程序響應鍵盤事件的詳解

    解讀在C#中winform程序響應鍵盤事件的詳解

    本篇文章是對在C#中winform程序響應鍵盤事件的詳細介紹,需要的朋友參考下
    2013-05-05
  • webBrowser代理設置c#代碼

    webBrowser代理設置c#代碼

    本文將介紹C# 為webBrowser設置代理實現(xiàn)代碼,需要了解的朋友可以參考下
    2012-11-11
  • C#獲取電腦硬件CPU信息的示例代碼

    C#獲取電腦硬件CPU信息的示例代碼

    這篇文章主要為大家詳細介紹了C#獲取電腦硬件之CPU信息,以及它都有那些品牌,文中的示例代碼講解詳細,對我們學習C#有一定的幫助,感興趣的小伙伴可以了解一下
    2024-01-01
  • C#自定義控件旋轉按鈕功能

    C#自定義控件旋轉按鈕功能

    本教程指導如何自定義繪制一個帶有手自動旋轉功能的按鈕和帶有標題的面板,教程提供詳細的步驟,方便用戶自定義界面布局,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • winform 使用Anchor屬性進行界面布局的方法詳解

    winform 使用Anchor屬性進行界面布局的方法詳解

    這篇文章主要介紹了winform 使用Anchor屬性進行界面布局的方法,有需要的朋友可以參考一下
    2013-12-12
  • C#實現(xiàn)繪制浮雕圖片效果實例

    C#實現(xiàn)繪制浮雕圖片效果實例

    這篇文章主要介紹了C#實現(xiàn)繪制浮雕圖片效果實例,是C#程序設計中非常實用的一個功能,需要的朋友可以參考下
    2014-08-08

最新評論

浙江省| 太和县| 白银市| 天峻县| 阜阳市| 喀什市| 利辛县| 阳东县| 巩留县| 新营市| 如皋市| 平果县| 咸阳市| 和田县| 五家渠市| 蛟河市| 晋江市| 龙游县| 平舆县| 丹江口市| 方城县| 柘荣县| 永嘉县| 满城县| 谢通门县| 宜章县| 井冈山市| 塔河县| 油尖旺区| 石渠县| 新建县| 右玉县| 陇南市| 汕头市| 静乐县| 紫阳县| 腾冲县| 茶陵县| 合肥市| 利辛县| 奇台县|