上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
今回はC#取得者(私)がWPF&WCFのプログラムを作るまでに参考にしたサイトをベースに
紹介していきたいと思います。
前提としてC#は一通り使えることとなっています
.NET Framework
まずはこのウェブサイトを一通りやると、WPFの概念と簡単なサンプルを通して勉強することができます

次に、WPFの概念的な部分をもっと深く勉強したい場合は

WPF入門 - @IT
WPF/Silverlight UIフレームワーク入門 - @IT

この二つが詳しいでしょう。
特に後者ではSilverlightとも共通する内容を中心に書かれてあるので
将来的にSilverlightも勉強したい人には好都合でしょう

というかXAMLで記述してはいるけれども、実際はC#のクラスをインスタンス化していたんですね。納得。


WPFのレイアウトの具体例はこちらが詳しいです。
WPF 超入門 ~はじめに - 憂国のプログラマ Hatena版
またWindows Formを過去に使ったことがある人はWindows Formとの考え方の違いもQ&A形式でまとめられているので参考にするといいでしょう。

WPFがらみで詰まりそうなのはデータバインディングでしょうか
基礎的なものは
データバインディング(WPF) (.NET Framework)

WPFの「データ・バインディング」を理解する - @IT
が詳しいですね。しかし皆さんが詰まりそうなのは
INotifyPropertyChangedによる実装じゃないでしょうか
それに関しては
データの表示と入力に必要な知識 - @IT
の後半と
コードスニペットを使った INotifyPropertyChanged の実装(再度更新) « ++C++; // 未確認飛行 C ブログ
カスタム属性を用いたデータバインディングの省力化(INotifyPropertyChanged実装編) - Kazzzの日記
これらなどを参考にするとスマートに実装できますね

加えてIValueConverterによる変換も少し難しいかもしれません。これはスマートな例が
データの表示と入力に必要な知識 - @IT
の最後に乗っていたので参考にしてみて下さい


ところでWPFでマウスイベントを実装しているときに陥ってしまったんですが
C#|WPFアプリケーションにてマウスイベントが拾えない問題 - 貧脚レーサーのサボり日記
WPFでのドラッグ&ドロップの最初の一歩 - SuperLightBrothersの飛行日誌
背景を指定しないとマウスアクションを拾ってくれないので注意してください



続いてWCFです。
概念的な説明に関しては
Windows Communication Foundation概説 - @IT
こちらが詳しいですが、具体例が若干難解です
そこで

WCF 入門 (1) ~ 初めての WCF プログラム - Web/DB プログラミング徹底解説
WCF 入門 (2) ~ 初めての WCF プログラムの説明 - Web/DB プログラミング徹底解説
WCF 入門 (3) ~ 送受信されたメッセージを見る - Web/DB プログラミング徹底解説

Memeplexes WCFチュートリアル かんたんなサーバーとクライアント
Memeplexes WCFチュートリアル カスタム型を使う

WCF入門「Hello world」 - かずきのBlog@Hatena

これらの具体例はシンプルで非常にわかりやすくできています。
ただしこれらの具体例に関してはIISを使わない、同じPC上での直接通信を参考にしたものなので注意してください。

ほかにも
チュートリアル入門
MSDNの入門も参考になります。

また英語のサイトになりますが
A Gentle Introduction to WCF | invalid cast
WCF Simple Example - Dennis van der Stelt
も参考になります

慣れてきたら
WCF Introduction
ここのサイトでもっとWCFの入門記事を探してみましょう。


2011/2/12追記:
データバインディングのINotifyPropertyChangedで引っかかったので追記
まずは簡単な実装例から
INotifyPropertyChanged と自動プロパティ
詳細な解説はこちら
カスタム属性を用いたデータバインディングの省力化(INotifyPropertyChanged実装編) - Kazzzの日記

コードスニペットによる利用を考えているのはこちら
INotifyPropertyChanged の実装 « ++C++; // 未確認飛行 C ブログ
コードスニペットを使った INotifyPropertyChanged の実装(更新) « ++C++; // 未確認飛行 C ブログ
コードスニペットを使った INotifyPropertyChanged の実装(再度更新) « ++C++; // 未確認飛行 C ブログ

INotifyPropertyChangedに対応しようと思ったらstatic宣言してはいけないが、WCFを使って直接値をSetしようと思ったらStatic宣言が必要…どうすればこれ解決できるの?refか?refがいるのか?
2011.02.10 Thu l 完全な私事 l コメント (0) トラックバック (0) l top

コメント

コメントの投稿












トラックバック

トラックバック URL
http://omine3.blog119.fc2.com/tb.php/138-1a5ba501
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。