How To WPF アプリケーション Part3 By 中博俊.

Slides:



Advertisements
Similar presentations
WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World
Advertisements

バリデータ J2EE II 第11回 / 2006年1月19日.
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
Expression Blend 3で始めるSilverlight 3アプリケーション開発
読んだもの P0254R0: Integrating std::string_view and std::string およびその関連スレッド 稲葉 一浩.
JSFによるWebアプリケーション開発 第9回
MajorなMeasure 囚人.
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
2008/03/01 D-BOF k.inaba はじめての initial D 2008/03/01 D-BOF k.inaba
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
C#によるWindowsFormApplication入門
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
JSFによるWebアプリケーション開発 第11回
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
ASP.NET開発標準化を考えてみよう! わんくま同盟 東京勉強会# /03/15 mxb & 片桐継.
haXeでオリジナルコンポーネント作り WCAN mini Vol 小笠原
XAML の勉強不要! WPF アプリケーションは作れます
Visual Studio LightSwitchの概要
Expression Blend 4 で デザインする Silverlight 4 アプリケーション
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
JAVA GUIプログラミング 第5回 ボタンとそのイベント処理.
JSFによるWebアプリケーション開発 第6回
第2章 Eclipseと簡単なオブジェクト 指向プログラミング
エンタープライズアプリケーション II 第7回 / 2006年7月9日
Visual Studio 2013 C# + XAML 入門
アルゴリズムとデータ構造 2011年6月20日
RMI ソフトウェア特論 第6回 /
プログラミング演習3 第2回 GUIの復習.
第13回 ハッシュテーブルを使ったプログラム ~高速に検索するには?~.
第12回 2007年7月13日 応用Java (Java/XML).
細かい粒度でコードの再利用を可能とするメソッド内メソッドのJava言語への導入
BindingからMVVMパターンまで うつせみ(虚蝉).
Expression Blend 3で始めるSilverlight 3アプリケーション開発
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
第3回 2007年4月27日 応用Java (Java/XML).
WPF、MVVMパターン構成.
第二回 VB講座 電卓を作ろう.
Windows PowerShell Cmdlet
ローカル変数とグローバル変数 ローカル変数  定義された関数内だけで使用できる変数 グローバル変数 プログラム全体で使用できる変数.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
Microsoft Visual Studio 2005 Tools for
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
プログラミング演習3 第2回 GUIの復習.
BindingからMVVMパターンまで うつせみ(虚蝉).
7.4 intanceof 演算子 7.5~7.9パッケージ 2003/11/28 紺野憲一
エンタープライズアプリケーション II 第9回 / 2006年7月23日
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
0からわかるF# Part1 中 博俊 F# September 2008 CTP Base.
プログラミングⅠ 平成30年10月22日 森田 彦.
オブジェクト・プログラミング 第8回.
GUIプログラミングの基本=イベント イベントとは イベントの例 ウィンドウやウィンドウ内のパーツ(ボタン・スクロールバーなど)に発生する
EntityManager と EJB QL EJB 3.0 コース 第8回 2006年8月5日.
JAVA GUIプログラミング 第3回 イベント処理① マウスイベント.
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
C#プログラミング実習 第3回.
nativeの基礎知識 「ポインタ」てなによ!?
画面への描画 Graphics オブジェクト 紙 ペン Pen オブジェクト Brush オブジェクト 画面のピクセルをカプセル化
ソフトウェア制作論 平成30年11月28日.
Action Method の実装 J2EE II 第9回 2004年12月2日.
ゲームのタスクシステム 導入編 レベル2くまー By keychan.
How To WPF アプリケーション Part4 By 中博俊.
アルゴリズムとデータ構造 2012年6月21日
プログラミング 平成28年10月25日 森田 彦.
JSFによるWebアプリケーション開発 第7回
5.基本API 5-1 レイアウト ウィジェットの並べ方を指定するには、 パレットのレイアウト(Layoutでは以下の8種類)を配置する。
Presentation transcript:

How To WPF アプリケーション Part3 By 中博俊

いちおうWindows Vista向けに出荷された.NET3.0で、初搭載されたWindowsクライアントプログラムの一形態 WPFとは いちおうWindows Vista向けに出荷された.NET3.0で、初搭載されたWindowsクライアントプログラムの一形態 現在の最新バージョンは3.5 いちおうWindows Formsの置き換え クライアントの表現を豊かにしてくれるツールとしてこれから期待しています。 XAMLというものでUIを記述することができます。 SilverlightでもXAMLを使います。

第1回はButtonとTextBoxを使った簡単なアプリケーションの作り方でした。 おさらい 第1回はButtonとTextBoxを使った簡単なアプリケーションの作り方でした。 WPFアプリケーションはDocument-Viewとして完全にUIとドキュメントを分けて考えましょう。 そしてINotifyPropertyChangedのインターフェイスを究めようという内容でした。 NotifyPropertyChangedBaseは今回も出てきますのでおさらい

NotifyPropertyChangedBase public class NotifyPropertyChangedBase : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; protected void FirePropertyChanged( string PropertyName) { if (this.PropertyChanged != null) { this.PropertyChanged(this, new PropertyChangedEventArgs(PropertyName)); }

第2回はコンバータと、ラジオボタンの制御についてでした。 おさらい 第2回はコンバータと、ラジオボタンの制御についてでした。 コンバータはIValueConverterを使い、ConvertとConvertBackを用意するというところを解説しました。

今回のアジェンダ コンボボックス よく使うコントロールの代表 Ancestor

DEMO1 テキストボックスとリストボックスを組み合わせたコントロール 入力の可/不可も設定可能 コンボボックスとは Windows Forms WPF

このように固定値を利用して表現することは簡単にできます。 バインディングしようよ このように固定値を利用して表現することは簡単にできます。 しかしこの勉強会のシリーズでは、WPFのデータコンテキストを利用したバインディングですべてを解決していこうという趣旨です。 ですので、このような利用の仕方は行いません。

DEMO2のデータたち ISO5218準拠 Int string

DEMO2のデータたち public class Document : NotifyPropertyChangedBase { public Row[] rows { get { return _rows; } set { _rows = value; } } private Row[] _rows = new Row[] { new Row(){名前="なか",年齢 = 32, 性別=性別Enum.男}, new Row(){名前="えムナウ",年齢 = 21, 性別=性別Enum.男}, new Row(){名前="R田中",年齢 = 18, 性別=性別Enum.シラネ} };

DEMO2

SelectedValueとSelectedValuePath ComboBoxのバインディングの方法 SelectedItem Text SelectedValueとSelectedValuePath それぞれのプロパティはどこで実装されているのか

Selecter.SelectedItem Selecter.SelectedValue ComboBoxのバインディングの方法 ComboBox.Text Selecter.SelectedItem Selecter.SelectedValue Selecter.SelectedValuePath 最初の説明:テキストボックスとリストボックスを組み合わせたコントロール 実態は兄弟

WPFのコントロールのすごさを知ってもらいましょう。 DEMO3

ちょっと理由がわからないので、Snoopで覗いてみましょう。 これが実際に出来上がったVisualTreeです。 ActualWidth=282 ActualWidth=282 ActualWidth=101 ActualWidth=101 ActualWidth=47 ContentPresenterがストレッチでないことが想像できます。 ActualWidth=30 ActualWidth=24 やっぱり

簡単な解決方法 Gridの幅をコンボボックスの幅などにしてしまえばいけるんじゃないか? DEMO4

ポップアップ側はシラネが全部表示されていますが、ボタン側には▼のエリアが上書きされちゃってます。 簡単な解決方法 ポップアップ側はシラネが全部表示されていますが、ボタン側には▼のエリアが上書きされちゃってます。 強引に右マージンを設定する場合に<ColumnDefinition Width="20"/> なんかを追加するといい かもしれません。

ちょっとグダグダ感が・・・・ いえそんなことはありません。たぶん。 今回簡易的な解決方法を提供しましたが、本格的に対応する方法は結構厄介です。 (アプローチは何種類か存在しますが・・・) スタイルとテンプレートについてはかなりややこしいので徐々に解説していきたいと思います。 Enjoy WPF