[WPF]章Vは学習WPFのレイアウトを理解します

  Windows開発者は、ユーザーインターフェイスを設計するための方法では、WPFのレイアウトモデルは大幅な改善です。WPFの出現する前に、Windowsの開発者は、正しい位置に剛性のコントロールのレイアウト座標に基づいて、使用します。WPFでは、このアプローチで、実現可能なしばらくますが、ほとんど使用されていません。ほとんどのアプリケーションは、Web状流れ(フロー)のレイアウトを使用する、フローレイアウトのモデルを使用した場合、コントロールが拡大することができ、他のコントロールは、別の場所を押しました。ときにウィンドウの内容の変化インターフェース自体は、調整可能、および自由にハンドルに言語を切り替えることができ、開発者が正しくユーザーインターフェイスを表示異なるスケールで、現実的な解決とは無関係に、ウィンドウのサイズを作成することができます。さらに基本的な概念と仮定WPFのレイアウトモデルを理解するためにシステムを利用するには、あなたの最初の必要性。

A、WPFは、原則をレイアウト

  WPFウィンドウは、単一の要素を含めることができます。複数の要素がウィンドウに配置し、WPF近い有用なユーザーインターフェースを作成するために、コンテナがウィンドウ上に配置され、次いで容器内の他の要素を追加することができます。

  WPFでは、レイアウトはあなたの実用的なコンテナによって決定されます。選択する複数の容器が、いくつかの重要な原則に従うことによって、「理想的な」WPFウィンドウがありますが。

  • それはサイズ設定要素(例えば、コントロール)を表示すべきです要素は、その内容に合わせてサイズする必要があります。例えば、複数のテキストボタンを追加する場合が延長されなければなりません。許容される最大および最小サイズの制御範囲のサイズを設定することにより制限することができます。
  • あなたはスクリーン座標の要素の位置を指定しないでください要素は、それらのサイズ、配列(オプション)、及び容器の特定のレイアウトに他の情報特定に応じて、それらによって容器内に配置されるべきです。あなたは要素間の空白を追加する必要がある場合は、Marginプロパティを使用します。
  • 子要素「共有」の利用可能なスペースのレイアウトコンテナスペースが許すならば、可能な限り素子の各元素の含有量の大きさを有する容器のより合理的なレイアウトを設定されています。彼らはまた、1つ以上の子要素に余分なスペースを割り当てます。
  • ネスト可能なコンテナレイアウト開始のような典型的なユーザインターフェースパネルグリッドは、WPFグリッドパネルは、容器の中で最も強力で、パネルは、他のグリッドレイアウトコンテナを含んでいてもよく、容器は、タイトル、テキストボックス、リストと同様の要素を最小限に抑えてグループに配置されていますボックス項目、ツールバーやボタンのアイコン。

  そこにこれらの原則のいくつかのためのいくつかの例外がありますが、それらは、WPF、全体的な設計目標を反映しますが。あなたがWPFアプリケーションサイクルにこれらの原則を作成する場合は、他の言葉で、私たちはより良い、より柔軟なユーザーインターフェイスを作成します。あなたが従わない場合は、これらの原則は、最終的にはWPFおよびユーザ・インタフェースのために維持することは非常に難しいことではありませんでしょう。 

第二に、レイアウト処理

  測定(その測定)とステージ構成(アレンジ)相:WPFレイアウトは、2つのステージを含みます。測定段階では、コンテナは、すべての要素を横断し、それらは、所望のサブエレメントのサイズを尋ねます。アライメントステージでは、容器は、位置子要素内に配置されます。

  もちろん、要素が常に最も適切なサイズを待たないかもしれない - 何か空間に含まれる要素を収容するために無コンテナ十分な大きさ。この場合には、視覚領域を適合させるために、容器の大きさは、必要条件を満たしていない要素を切断することが必要です。あなたが後で参照してくださいよ、この状況は、通常、最小のウィンドウサイズを設定することで回避することができます。

第三に、レイアウトコンテナ

  WPFレイアウトコンテナのすべての抽象クラスSystem.Windows.Controls.Panelパネルに由来しています。下図のように:

 

  次のようにPanelクラスは、3つのパブリックプロパティを含むメンバーの少量を、追加します。

公有財産の表パネル

  基底クラス自体に関するパネルは、何も特別なものではありませんが、彼は他のより特定のクラスのための開始点でした。WPF継承多量のパネルクラスからレイアウトを配置するために使用することができる提供します。次の表は、最も基本的な種類のいくつかを示しています。すべてのWPFコントロールと最も視覚的な要素と同様に、これらのクラスは、System.Windows.Controls名前空間に位置しています。

コアパネルレイアウトテーブル

 

   除这些核心容器外,还有几个更专业的面板,在各种控件中都可能遇到它们。这些容器包括专门用于包含特定控件子元素的面板——如TabPanel面板(在TabPanel面板中包含多个选项卡)、ToolbarPanel面板(工具栏中的多个按钮)以及ToolbarOverflowPanel面板(Toolbar控件的溢出菜单中的多个命令)。还有VirtualizingStackPanel面板,数据绑定列表空间使用该面板以大幅降低开销;还有InkCanvas控件,该控件和Canvas控件类似,但该控件支持处理平板电脑(TabletPC)上的手写笔(stylus)输入(例如,根据选择的模式,InkCanvas控件,尽管这有点违反直觉)。接下来文章会分别介绍核心容器信息。

おすすめ

転載: www.cnblogs.com/Peter-Luo/p/12153346.html