タグ

wpfに関するhikazohのブックマーク (8)

  • WPFでICommandとINotifyPropertyChangedを使う - メモの日々(2017-06-12)

    ■ [c#] WPFでICommandとINotifyPropertyChangedを使う WPFではボタンやメニューをクリックしたときにICommandを実装したクラス(コマンド)のメソッドを呼び出す仕組みがある。また、INotifyPropertyChangedを実装することでViewModelの状態変化をViewへ通知することができる。これらの機能を使った次のプログラムを作ってみた。 追加ボタンをクリックするとテキストボックスの内容を画面下部に追加する。このときテキストボックスの内容はクリアする。 テキストボックスが空だとボタンはクリックできない。 MainWindow.xaml <Window x:Class="Hello.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xm

    WPFでICommandとINotifyPropertyChangedを使う - メモの日々(2017-06-12)
    hikazoh
    hikazoh 2017/06/16
  • C#+WPFでGUIアプリケーションを作ってみる - ももいろテクノロジー

    JavaFX+FXMLでGUIアプリケーションを作ってみる」では、JavaFX+FXMLを使ってJavaランタイム(JRE)が入っている環境向けのGUIアプリケーションを作った。 ここでは、C#+WPFを使い、.NET Frameworkが入っている環境向けのGUIアプリケーションを作ってみる。 環境 Windows 8.1 Pro 64 bit版 >systeminfo OS 名: Microsoft Windows 8.1 Pro OS バージョン: 6.3.9600 N/A ビルド 9600 OS ビルドの種類: Multiprocessor Free システムの種類: x64-based PC プロセッサ: 1 プロセッサインストール済みです。 [01]: Intel64 Family 6 Model 69 Stepping 1 GenuineIntel ~1596 Mhz Vi

  • WPF でコントロールをドラッグする | Moonmile Solutions Blog

    以前、WPF でコントロールのドラッグコードを書いたのですが、業務的に少し書き直してみます。WPFでコントロールをドラッグ(1) では、マウスの down/up/move のイベントを直接つけていますが、コントロールが増えたときには面倒ですね…というか、動的にイベントを追加すればよいのですが。ふと、[WPF]枠なしでリサイズ&ドラッグ移動可能なウィンドウを作る に行き当たると、WindowChrome クラス を使うと枠なしのウィンドウが作れて、MouseLeftButtonDown イベント内に DragMove イベントを呼び出せばよいようです。この方式だと簡単ですね。 というわけで、マウスダウンのイベントだけあらかじめ付けておいて、マウスの移動とアップイベントは動的に追加します。また、クラスの継承ではなくて拡張を使って実装します。 public static class Contro

    hikazoh
    hikazoh 2016/02/14
  • 168体育在线(中国)维基百科

    hikazoh
    hikazoh 2015/09/12
  • C# 6.0時代の変更通知プロパティの書き方 - かずきのBlog@hatena

    2018/01/05 追記 こんなん書きました。 blog.okazuki.jp 文 VS2015 RC時点の情報に基づいて書いています XAML系のアプリを書くときに必須となるINotifyPropertyChangedインターフェースを実装した上での、変更通知機能を持ったプロパティがあります。こいつの実装がめんどくさい&文字列指定だとダサいみたいな理由から、INotifyPropertyChangedを実装した以下のようなクラスを準備して、こいつを継承して楽をするという手がよく使われています。 public class BindableBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected virtual bool SetProperty<T

    C# 6.0時代の変更通知プロパティの書き方 - かずきのBlog@hatena
  • WPF の Dispatcher について勉強してみた - 周回遅れのブルース

    WPF の Dispatcher について勉強がてら自分なりに得た理解をまとめてみました。 WPF アプリケーションは、レンダリング(描画)用とユーザーインターフェイス用の2つのスレッドを用いて動作します。 レンダリングスレッドはバックグラウンド動作のため、開発者はアクセスできません。開発者が扱えるのは、ユーザーインターフェイス用スレッド(以下 UIスレッド)のみとなります。そしてこの UI スレッドは、パフォーマンス上の理由により(スレッドセーフにするとオーバーヘッドが発生し、描画遅延等の問題を起こすためか)スレッドセーフに設計されてないのが特徴です。 WPFでは、ほとんどのオブジェクトが UI スレッド上で動作する「シングルスレッドモデル」を採用しているため、UI スレッド外からそのオブジェクトにアクセスすると、例外が発生します。 例えば、以下のように ListBox へのアイテム追加

    WPF の Dispatcher について勉強してみた - 周回遅れのブルース
  • バックグラウンド スレッドで UI 要素を作るとメモリリークする (WPF) | grabacr.nét

    題記の通りなのですが、一時ハマったので共有します。 正確には、「バックグラウンド スレッドで DispatcherObject を作るとメモリリークする」ですね。 例えば、バックグラウンドで画像をダウンロードして加工したり。 もしくは Grid や TextBlock といった UI 要素を使って、サムネイルやら何やらの画像を生成したいときとか。 ImageSource は Freezable なので、バックグラウンドで画像を作って Freeze() してしまえば、UI スレッドに渡してもだいじょうぶ。 なるべく UI スレッドの負担を減らしたいのです。 ということで、以下のようなコードを書いてみます。 サンプルなので Console アプリですが、PresentationCore, PresentationFramework, WindowsBase, System.Xaml あたりを参

    バックグラウンド スレッドで UI 要素を作るとメモリリークする (WPF) | grabacr.nét
  • Loading...

  • 1