| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
編集の要約なし
==[[WPF レイアウト]]==
[[WPF]] | [[.Net]] | [[Silverlight]] | [[Universal Windows Platform]] |
{{amazon|4798114200}}
===サンプル===
*[[WPF レイアウト サンプル]]
==レイアウトの原則==
*レイアウトを他のレイアウトにネストできる
desiredSize <= actualSize <= availableSize
====クラス階層====
*レイアウトは UIElement型によって、WPFのクラス階層に導入されるUIElement型によって、[[WPF]]のクラス階層に導入される public class UIElement U[[IE]]lement : Visual {
...
public bool Visibility Visibility { get; set; }
public void Arrange(Rect finalRect[[R]]ect final[[R]]ect); protecterd virtual [[vi]]rtual void ArrangeCore(Rect finalRect);
public void Measure(Size availableSize);
protected virtual [[vi]]rtual Size MeasureCore(Size availableSize);
}
===一貫したレイアウト===
*これらのパターンを一貫して実装するレイアウトを簡単に作成するために、レイアウトコントラクトの上位に位置するレイヤーを備える
*共通レイアウトを制御するプロパティは、System.[[Windows]].FrameworkElement で定義される
=====レイアウト制約=====
*レイアウト制約を制御するために、FrameworkElementは6つのプロパティを定義
===変換===
*コントロールの最終的な位置を決定するために2つのプロパティを使用して任意の変換を行うことができる
*System.[[Windows]].Media.Transform 型
{|class="wikitable"
!プロパティ
!備考
|-
|RenderTransform[[R]]enderTransform
|レンダリング直前に適用(レンダリングのみに影響を与える)
|-
=====ScaleTransform=====
*x/y ズーム
=====RotateTransform[[R]]otateTransform=====
*点を中心とした回転
=====TranslateTransform=====
<StackPanel Background="..." Orientagion="Horizontal">
<Buttojn Width="75" Height="25">
<Button.RenderTransform[[R]]enderTransform> <RotateTransform [[R]]otateTransform Angle="15" />
</Button>
</Button>
===UniformGrid===
*System.[[Windows]].Controls.Primitives に含まれる
*基本的なグリッドレイアウト
*各セルが同じサイズ
*複数のセルにまたがる項目をもつグリッド
*行および列の間隔設定が一様ではないグリッド
*最も簡単な使い方は、RowDefinitionsプロパティとColumnDefinitionsプロパティを設定し、添付プロパティのGrid最も簡単な使い方は、[[R]]owDefinitionsプロパティとColumnDefinitionsプロパティを設定し、添付プロパティのGrid.Row、Grid[[R]]ow、Grid.Column を使用してどの子がどのスロットに入るかを指定する====グリッドの概念グリッドの[[概念]]====
=====レイアウトと構造の分離=====
*通常はネストしたレイアウトパネルの数が少なくても複雑な結果を実現できる
*例
<Grid>
<Grid.RowDefinitions[[R]]owDefinitions> <RowDefinition [[R]]owDefinition Height="2*" /> <RowDefinition [[R]]owDefinition Height="1*" /> </Grid.RowDefinitions[[R]]owDefinitions>
<Grid.ColoumDefinitions>
<ColumnDefinition Width="2*" />

案内メニュー