WPF のバックアップ(No.5) - PukiWiki

技術メモ?


コントロール
[edit]

Windows フォーム コントロールおよび同等の WPF コントロール
http://msdn.microsoft.com/ja-jp/library/ms750559(VS.80).aspx
WPFにおけるDataGridViewの実現:
http://www.c-sharpcorner.com/UploadFile/mahesh/GridViewWpf11082009182813PM/GridViewWpf.aspx

このページのトップへ

レイアウト
[edit]

WPF UIフレームワークにおけるレイアウトは、主にPanel(=Panelクラスの派生クラスにマッピングされた要素全般を指す)を用いて行うことになる。ここでは代表的な下記の3つのPanelを紹介する。

このページのトップへ

Canvas:<Canvas>要素~
[edit]

 絶対配置をサポートしている、他は全部相対配置となる

配置する際に、Left , Top,Right,Buttomプロパティを利用する。

このページのトップへ

StackPanel:<StackPanel>要素~
[edit]

 要素を垂直方向または水平方向に積み重ねていくようなレイアウトをサポートするPanelだ

 相対配置の際に重要となるプロパティとしてMarginプロパティが存在する。Marginプロパティはその要素に対して上下左右の余白を付加するプロパティである

<Button Content="ボタン B" Margin="150,40,80,40"/>
このページのトップへ

Grid:<Grid>要素
[edit]

 WPF UIフレームワークにおけるGridは格子状に要素をレイアウトするためのPanelである。Windowsフォーム2.0から追加されたTableLayoutPanelコントロール、HTMLにおける<table>タグと同様のレイアウトをサポートする。

このページのトップへ

スタイル・リソース
[edit]

このページのトップへ

リソースの種類
[edit]

このページのトップへ

イミディエイト・リソース
[edit]

FrameworkElementオブジェクトのResourcesプロパティ(ResourceDictionary型)に宣言されたリソースは、イミディエイト・リソースと呼ばれる。

このページのトップへ

アプリケーション・リソース
[edit]

 ApplicationオブジェクトのResourcesプロパティ(ResourceDictionary型)に宣言されたリソースは、アプリケーション・リソースと呼ばれる。

このページのトップへ

外部のリソースファイルを利用
[edit]

リソース・ディクショナリは、別個のXAMLファイル(リソース・ディクショナリ・ファイル)として作成することもできる。次のコードはそのファイル内容の例だ。

<ResourceDictionary
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <SolidColorBrush x:Key="BlueBrush" Color="Blue"/>
</ResourceDictionary> 

上記のソースコードをファイル「ResourceDictionary1.xaml」に格納するとして、下記のように呼び出します。
例:

<Grid>
 <Grid.Resources>
   <ResourceDictionary Source="ResourceDictionary1.xaml"/>
 </Grid.Resources>

 <Ellipse Fill="{StaticResource BlueBrush}" />

</Grid> 
このページのトップへ

埋め込みリソースのアクセス
[edit]

アプリケーションの参照アセンブリとして「ClassLibrary1」が存在し、そのアセンブリのリソースとしてResourceDictionary1.xamlが埋め込まれている場合、下記のようなコードでResourceDictionary1.xamlを読み込むことができる。

<Grid>
 <Grid.Resources>
   <ResourceDictionary
      Source="pack://application:,,,/ClassLibrary1;component/ResourceDictionary1.xaml" />
 </Grid.Resources>

 <Ellipse e Fill="{StaticResource BlueBrush}" />

</Grid> 

16.gif

このページのトップへ

データ・バインディング
[edit]

このページのトップへ

OneWay
[edit]

 バインディング・ソースのデータ(=プロパティ値)が変更されると、バインディング・ターゲットのデータ(=プロパティ値)を更新

このページのトップへ

OneTime
[edit]

 アプリケーションの起動時にのみ、バインディング・ターゲットのデータを更新

このページのトップへ

TwoWay
[edit]

 バインディング・ソースまたはバインディング・ターゲットのどちらか一方のデータが変更されると、もう一方も自動的に更新

このページのトップへ

Tips
[edit]

このページのトップへ

別のスレッドのコントロールへアクセス
[edit]

Dispatcher.BeginInvoke((MethodInvoker)delegate()
{
    this.listBoxBlobContainer.Items.Add(container.Name);
});

コメント:




トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

yVoC[UNLIMITȂ1~] ECirŃ|C Yahoo yV LINEf[^[Ōz500~`I


z[y[W ̃NWbgJ[h COiq 萔O~ył񂫁z COsیI COze