原创 將Winform移植到.NET Core 3.0

參考將現有應用程序移植到.NET Core 3.0 環境 首先要下載.NET Core 3.0 與Visual Studio 2019 編輯 csproj 文件 <Project Sdk="Microsoft.NET.Sdk.Wi

原创 WPF限制textbox的輸入,不使用文件非法字符

搜了半天基本都是改KeyDown或者PreviewKeyDown這種事件的形式,還是想弄個MVVM的寫法,於是參考的StackOverflow public class MyTextBox : TextBox { //pr

原创 自定義dictionary類的序列化

今天遇到一個問題“could not conver string to dictionary key”什麼什麼的錯誤 首先我重寫了一個Dictionary,讓他繼承IDictionary public class MyDictio

原创 WPF中binding一個dictionary

參考Stack Overflow 界面上的綁定必須加上Path=,不加綁定就失敗了。其次,我這裏是一個key爲枚舉的字典,因此必須給類型名,且必須寫上類的路徑。xmlns:MyNameSpace="clr-namespace:My

原创 WPF中TextBox更改完了之後進行操作

第一時間是想到了使用TextChanged事件的,但是這個事件實際上是隻要更改了就會觸發。然後我就想到在綁定的屬性中進行操作,然後需要好多if判斷,而且有諸多bug,因此取消了。 最終將Text綁定增加了一個屬性NotifyOnS

原创 TreeView的ContextMenu綁定了Command但是CommandParameter總爲null

根據WPF的Treeview子節點綁定,我需要菜單按鈕點擊之後進入ViewModel而非後臺代碼,因此我修改了代碼。 <TreeView x:Name="treeView" ItemsSource="{Binding EcgPro

原创 WPF中Image的圖像太平滑,更改爲有像素格的那種

Image圖拉伸之後發現圖太平滑了。我想要的是平常打開圖拉伸之後會有一個個明顯的像素格那種。根據stackoverflow RenderOptions.SetBitmapScalingMode(imageDisplay, Bitm

原创 Vue.js學習筆記

首先我是直接從寫網頁開始練習的,隨便創建一個HTML文件,然後在中間直接用<script>引入 CDN 對於製作原型或學習,你可以這樣使用最新版本: <script src="https://unpkg.com/vue/dist/

原创 Your project is not referencing the ".NETFramework,Version=4.5" framework.

我遇到了 Your project is not referencing the “.NETFramework,Version=4.5” framework. Add a reference to “.NETFramework,Ver

原创 Moq的使用方法

我們在做單元測試的時候,常常困擾於數據的持久化問題,很多情況下我們不希望單元測試影響到數據庫中的內容,而且受數據庫的影響有時我們的單元測試的速度會很慢,所以我們往往希望將持久化部分隔離開,做單元測試的時候不真正的將數據持久化。這種隔離

原创 選中ListBoxItem中的TextBox,就選中ListBox的SelectedItem

首先先設定Style。其中觸發器的Property爲UIElement.IsKeyboardFocusWithin <Style TargetType="{x:Type ListBoxItem}" x:Key="ListBoxItem

原创 Installshield的安裝包更新了卻還是之前的軟件

問題:Installshield的安裝包,即使把版本號增加了,但是依舊會出現軟件打開依舊是老版本的情況,把舊軟件刪除了就不會出現這個問題,但是在老版本還在的情況下,選擇覆蓋更新就會還是打開老版本的情況 解決方法:將Applicatio

原创 設計模式(23)——解釋器模式

解釋器模式(Interpreter Pattern)提供了評估語言的語法或表達式的方式,它屬於行爲型模式。這種模式實現了一個表達式接口,該接口解釋一個特定的上下文。這種模式被用在 SQL 解析、符號處理引擎等。 接下來描述一個將中文數

原创 設計模式(21)——訪問者模式

abstract class Element { public abstract void Accpet(IVisitor visitor); public abstract void Print(); } // 具

原创 設計模式(22)——備忘錄模式

備忘錄模式(Memento Pattern)保存一個對象的某個狀態,以便在適當的時候恢復對象。備忘錄模式屬於行爲型模式。 角色 發起人角色:記錄當前時刻的內部狀態,負責創建和恢復備忘錄數據。 備忘錄角色:負責存儲發起人對象的內部狀態,