原创 幾步製作高清ICO圖標

每次都摸索一遍,完了下次項目又忘了,記下來: 1. 從網上選擇高清PNG(至少256*256) 2. 用Paint.Net轉換成各種分辨率 Paint.Net的轉換是重新採樣,會自動抗鋸齒。 分辨率至少要有256*256, 48*48,

原创 讓Visual Studio Shell新建C#項目和文件就這麼簡單

後記:2014-11-13 微軟發佈了VS2013 Update4 社區版,全功能免費,再也不需要用Express了,這篇文章也不需要了。希望微軟早點官方把C#移植到Mac和Linux上。 ------------------------

原创 C#之絕對新手

1.如何在構造函數中調用其它構造函數public class IPConfig { public IPAddress IP { get; private set; } //... p

原创 WPF新手之將對象綁定到非Items控件

<StackPanel> <StackPanel.Resources> <Style TargetType="{x:Type Label}">

原创 WPF新手之驗證器及驗證出錯模板

首先要定義一個實現了ValidationRule接口的驗證器類: public class IPAddressValidationRule : ValidationRule { public override Va

原创 WPF新手之控件多對一的綁定

用到MultiBinding和IMultiValueConverter: <Window.Resources> <local:HasSelectionNICAndProfileConverter x:Key="HasSel

原创 獲取不支持重定向的Console程序的輸出【原創】

要做一個系統備份、恢復系統,之前用ImageX,但ImageX有一個大問題,就是它直接恢復系統時,會有很多checksum error,所幸dism解決了這個問題。因此換成調用dism。但發現了又一個問題:ImageX是支持輸出重定向的,

原创 FLTK 1.3中使用中文

最近畢設要做個FLTK的界面,可讓它支持中文可花了番心思。 開始我也是借鑑了這篇文章:http://blog.sina.com.cn/s/blog_494e45fe0100092l.html 可除了它給的“測試”這兩個字,其它都沒試出來。

原创 WPF新手之如何自定義TreeView點擊後的背景色

其它控件也同樣適用: 對於一時找不出好辦法的情況,直接用StyleSnooper找到所需的控件,查看它的默認Style。然後找到所需的設置,如這裏是找到 <Trigger Property="TreeViewItem.IsSelected

原创 WPF新手之模板重用

控件中重用模板就不談了,基本的。如果是多個HierarchicalDataTemplate要用同一個DataTemplate,只要用ItemTemplate即可: <DataTemplate x:Key="IPConfigTemplate

原创 WPF新手之自制Snippet —— INotifyPropertyChanged

自己做了自己用,參照了MSDN的標準寫法,就不多廢話了,直接貼上,最後附用法:   先貼類的Snippet——快捷鍵爲notify <?xml version="1.0" encoding="utf-8" ?> <CodeSnippets

原创 C#新手之控件數據綁定

我是個C#新手,最近有個程序要把TextBox的Text屬性與一個int屬性綁定,發現一個奇怪的事,在一個屬性中更改另一個屬性,TextBox控件顯示的值就可以自動更新,但用點擊按鈕的方法就無效。代碼:用於演示的類Class1: usi

原创 WPF新手之控件聯動

控件之間的綁定,選擇TreeView中的某一項,TextBlock中的值隨之改變: <TreeView x:Name="Tree1" ItemsSource="{Binding }" ItemTemplate="{StaticResour

原创 WPF新手之爲HierarchicalDataTemplate生成的Item項添加事件

一般的模板直接就能在模板中的控件屬性中設置,可是HierarchicalDataTemplate直接生成了ListBoxItem(TreeViewItem也是一樣),沒地方設置。結果發現只要在<style>中加以如下設置即可: <Styl

原创 WPF新手之如何獲得Template生成的控件

由Template生成的控件是無法通過x:Name來在過程代碼中獲得的,這也很好理解,因爲Template可能被應用於多處,僅僅用x:Name無法區別。那麼唯一的方法就是用FindName(查閱MSDN)。   private child