ホーム > コンピュータ > C# > WPF in C#

ベクトルドロー・レベルゼロ+

C#でWPFを使う[C#:WPF]

概要

C#を学ぶ過程で調べた、ツールやライブラリを記載していきます。

テキストやデータベースを扱うWindowsアプリケーションを作成するためには、C#は、良い選択のはずですが、 コンソールアプリケーションのその先は、情報が少なくなり、そして、高度になるので、私のような、初心者にはかなり高い壁になります。

そのため、内容のほとんどが、使い方を詳細に説明する内容ではなく、使えるかどうか調べて断念するまでの情報になります。 また、.Netかどうかは特に分類していません。

C#を新たに学習していくために集めたり、作成した情報とリンクです。

WPF関連

基本の基本

当たり前すぎて、説明を省いてるのでは?と思うけれど、実際には、わからなくて探し回ったことを記載していきます。

WPFアプリケーションのエントリポイントはどこ?

WPFアプリケーションは、どのコードから開始されるのでしょうか、サンプルプログラムにコードがたくさん入っているとさっぱりわからなくなってしまいます。
この答えは、App.xaml内のStartupUrlに指定されているコードから開始されます。

 参考サイト アカベコマイリ WPFアプリの起動・終了処理 (外部サイト)

WPFアプリケーションの画像が表示されない

書籍で提供されるサンプルファイルなどで、デザイナーでは、画像が表示されているが、ディバッグビルドや、ビルドでは、画像が表示されないときがあります。 これは、コードや設定がおかしいのではありません。 その、サンプルプロジェクトに保存されているディレクトリが深すぎると画像が表示されないようです。 プロジェクトフォルダごと、デスクトップ等に貼り付けて(ショートカットではダメです)、実行して見ましょう。

レイアウト

単純なデザインのWPFウィンドウ

汎用性の高いウィンドウのデザインは、集めておくと新しく作成しる手間が省けます。

3つのボタンと1つのリッチテキストボックス持つウィンドウ
コードの動作を確認する際に、そのままコピペで使用するためのウィンドウサンプルです。 短いプログラムを検証するためのメインウィンドウをいろいろ集めておくと、コードの動作検証などに便利です。

WPFコントロール

ボタン

チュートリアル : XAML を使用したボタンの作成(外部サイト)

WPFのボタンに関しては一番わかりやすいです。

Chromクラス

ボタンの外観は、テンプレートできっちり設定しても、破たんするところがあります。おそらくそれは、Windows Shellに関連する部分です。

.Netでは、Chromeクラスで操作します。あまり公開されていないようなので、最後は、API関数に頼る必要があるのだと思います。そこまでいじらないデザインを考えたほうが建設的だと思います。

WindowChrome クラス(外部サイト)

WindowChrome クラス[msdn](外部サイト)

リストボックス

WPFのコンポーネントは、それぞれを複雑に組み合わせることができるので高い機能を実現できます。 でも、学ぶ際には、それぞれの機能を分けて理解する必要があります。 そうしておかないと、公開されているほとんどのサンプルプログラムは、機能を高度に組み合わせているので理解できません。

ダイアログボックス

ファイルを開く、ファイルを保存する際は、ダイアログボックスも合わせて実装すると使いやすくなります。印刷ダイアログも紹介しています。

リボンメニュー

イベント

WPFアニメーション

ゲームや、物理シミュレーションの用途で有用と思われるフレームに基づいたアニメーションの使い方について調べてみました。

使い方の参考に

要素を動的に追加する

矩形を動的に 追加する
ItemsControlを使うと要素をプログラムで追加できます。

ドッキングウィンドウ

.Net環境にドッキングウィンドウの機能を追加するためのライブラリです。WPFで使用します。

地域設定(ローカライゼーション[localization])

C#とWPFで、多国語対応をどのように実現するのでしょうか。 製品として販売されるコンポーネントに、簡単な機能が提供されているのか、あまり情報がありません。 アプリケーションメニューの言語表示を切り替えたりする、WPFの地域設定機能についての情報を集めました。

C#とWPFでテキストエディタ

Guiアプリケーションの定番ですが、どうやって、作ったらよいのでしょうか。
C#とWPFでテキストエディタを作成するときに参考になるサイトやコードが公開されているアプリケーションの公開サイトを紹介します。

XAML 名前空間および WPF XAML の名前空間の割り当て(外部サイト)

C#と同じように、xamlにも名前空間が存在します。

メインウィンドウから子ウィンドウを開く

自作したカスタムダイアログボックスを表示したり、別のウィンドウを表示する際は、表示する前に、ウィンドウのインスタンスを作成しておく必要があります。

UIパターンとMVVMパターン

WPFについて調べていると頻繁に登場するMVVMパターンは、UIパターンの一種です。

MVVMパターンは、調べてみても薄ぼんやりしてよくわかりません。Web上の情報を調べてみましたが、よくわかりません。

調べたリンクをここにまとめておきます。

MVVMパターンは、.NET標準だけ使うとなると、綺麗でわかりやすく保守が容易なコードが書けないようです。PrismなどのMVVM基盤ライブラリが必要があるようです。

WPF Toolkit

WPFは、.Net Frameworkに合わせて更新されます。その期間は、約2年です。その間に、新たに開発された機能は、WPF Toolkitとして公開されます。

WPF Toolkit(外部サイト)

Extended WPF Toolkit(外部サイト)

WebTool

WebBrowserクラスなど、WPFを使用して、Webコンテンツ作成のためのデスクトップアプリケーションを作成するための情報です。

HTML to XAMLコンバーター

WPFで、htmlを扱う場合、「HTML to XAMLコンバーター」を利用する方法があります。ただ、日本語で提供されている情報は、まず、ありません。

WPF関連サイト

連載:WPF入門 (外部サイト)

@ITのWPF入門

Simplestar Game

046話 Hello WPF  (外部サイト)

かずきのBlog@hatena

WPF4.5入門  (外部サイト)
プログなので、記事が分散しています。このページに移動して、サイト内検索により「WPF4.5入門」を検索すると便利です。

プログラミング図書館 WPF (外部サイト)

メモのような構成でまとめてある。ぼんやりとしか理解できていないときに、このサイトを眺めると新たな発見があるかも。

Gushwell's C#

Gushwell's C# Dev Notes  (外部サイト)
Gushwell's C# Programming Page  (外部サイト)
C#, .NET系の情報が記載されている。WPFの情報もあります。

WPF 3Dプログラミング

Windows Presentation Foundationの入門書「WPF 3Dプログラミング」のサポートサイト

Windows Presentation Foundation プログラミング入門(外部サイト)

Windows8.1でJoystick(GamePad)の状態を取得する(外部サイト)

WPFの面倒なところ:コントロールの移動(外部サイト)

WPFのロードマップ(外部サイト)

WPF関連書籍

プログラミング Windows 第6版 第1章 WPF編 (外部サイト)

「プログラミング Windows 第6版」の紹介記事を書いたサイトがありましたのでリンクを貼っておきます。 「プログラミング Windows 第6版」はホームアプリ向けに書かれた書籍ですので、サンプルプログラムは、VisualStudio for Desktopでは、そのままでは動作しないので注意が必要です。
ページトップへ
C#トップ
Copyright (C) 2011-2016 kukekko All Rights Reserved.
kukekko@gmail.com
ご連絡の際はアドレスの@は半角にしてください。 また、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません 」。
inserted by FC2 system