顯示具有 wpf 標籤的文章。 顯示所有文章
顯示具有 wpf 標籤的文章。 顯示所有文章

2016年6月19日 星期日

UserControl 自我綁定

在套用UserControl時,宣告DataContext為 DataContext="{Binding RelativeSource={RelativeSource Self}}" 否則會與套用者綁定

2015年8月23日 星期日

[常用]將所有dll檔封裝進exe檔(WPF)

一般我們寫程式的時候都會用到許多dll
但是把程式交出去的時候如果有一堆dll會很難管理,也不是很好看

這時候就需要把dll封裝進程式執行檔裡面

1.修改Project.csproj


2.右鍵點選參考底下的dll,把複製到本機這個屬性改為False,該dll就不會一起複製到程式執行的資料夾內。
   但此動作會使得程式參考不到該dll檔

3.將dll檔加進Resources內,建置方式選擇內嵌資源,就跟一般放影像檔、音效檔一樣,會把dll封裝進exe執行檔內。
   但程式呼叫到該dll時不會自動找到Resources內的dll檔,必須自行對應

4.新建一支Program.cs檔,取代App.xaml.cs成為專案起始檔(右鍵點專案可以設定起始檔)


完成以上步驟後,再建置程式,就會發現dll檔都不見了,而exe檔明顯變肥



2015年7月17日 星期五

超實用 強制更新Listview的Itemsource

ICollectionView view = CollectionViewSource.GetDefaultView(DeviceSeries.Instance.dic_device);
               
view.Refresh();




2015年3月25日 星期三

同時使用viewport3D與RenderTargetBitmap時發生的問題

最近有個專案,在使用3D模組的同時,還要不斷地對其拍照上傳 於是我使用了RenderTargetBitmap.Render(viewport3D)來對整個3D建模進行拍攝 但是我發現這行指令執行完畢後,viewport3D上正在執行的動畫效果及貼圖全都會消失 疑似是該指令讓viewport3D失去綁定關係 目前解決的方法是在把viewport3D從其父容器上移除並重新加入

2015年2月16日 星期一

PerspectiveCamera(3D) in WPF

有幾個參數 Position代表攝影機的位置 LookDirection 代表攝影機在該位置面對的方向 UpDirection 代表攝影機的上方 一般不設定時為(0,1,0) 如果改成(0,-1,0)會發現物件顛倒了

2014年12月21日 星期日

WPF 設定動畫fps

如果常常在使用Animation的人,應該會發現你的程式cpu使用率異常的高,這是因為wpf內建設定動畫的fps是60 想要降低cpu使用率有兩個方法,第一個是把動畫做成gif直接嵌入,或是在程式初始化時把fps設定為30~40(一般人類肉眼可辨識的極限大概在30左右) 以下是設定fps的程式碼,寫在InitializeComponent()之前

2014年12月3日 星期三

List,ObservableCollection,SortableObservableCollection

ObservableCollection就是實作了INotifyCollectionChanged的List INotifyCollectionChanged是當資料改變時,通知介面層的一個接口,在WPF與silverlight中被大量使用在資料繫結上 ObservableCollection與List之間可互相轉換 SortableObservableCollection 可自動進行排列的ObservableCollection物件

RichTextBox單行長度設定

有時候不希望RichTextBox一直換行,可以來修改單行長度 看似簡單,卻花了我一個多小時才找到,WPF的資料實在太少了
C# 常用功能-最小化程式至系統列