MSDN ライブラリ
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Canvas クラス

2013/12/12

領域を基準にした相対座標を使用して子オブジェクトを明示的に配置できる領域を定義します。

Namespace:  System.Windows.Controls
アセンブリ:  System.Windows (System.Windows.dll 内)
XAML の XMLNS: xmlns にマップされていません。

public class Canvas : Panel
<Canvas ...>
  oneOrMoreUIElements
</Canvas>

XAML 値

oneOrMoreUIElements

UIElement クラスから派生した 1 つ以上のオブジェクト要素。ここで定義したオブジェクト要素は、Children コレクションのメンバーになります。

Canvas 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドCanvasCanvas クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティActualHeightFrameworkElement の描画時の高さを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティActualWidthFrameworkElement の描画時の幅を取得します。 (FrameworkElement から継承されます。)
パブリック プロパティAllowDropこの UIElement をドラッグ アンド ドロップ操作の対象として使用できるかどうかを判断する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティBackgroundパネルの塗りつぶしに使用する Brush を取得または設定します。 (Panel から継承されます。)
パブリック プロパティCacheModeレンダリングされたコンテンツを可能な場合にキャッシュするように指示する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティChildrenパネルの子要素のコレクションを取得します。 (Panel から継承されます。)
パブリック プロパティClipUIElement のコンテンツのアウトラインの定義に使用する Geometry を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティCursorインフラストラクチャ。 ポインターが FrameworkElement の上にあるときに表示されるカーソル イメージを取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティDataContextFrameworkElement がデータ バインディングに関与するときにそのデータ コンテキストを取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティDesiredSizeレイアウト処理の測定パスの実行中にこの UIElement が計算したサイズを取得します。 (UIElement から継承されます。)
パブリック プロパティDispatcherこのオブジェクトに関連付けられている Dispatcher を取得します。 (DependencyObject から継承されます。)
パブリック プロパティFlowDirectionレイアウトを制御する親要素内でのテキストやその他のユーザー インターフェイス要素のフロー方向を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティHeightFrameworkElement の高さの推奨値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティHorizontalAlignmentFrameworkElement がレイアウトの親 (パネル コントロールや項目コントロールなど) の一部となる場合に適用される水平方向の配置の特性を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティIsHitTestVisibleこの UIElement に含まれる領域が、ヒット テストに対して true 値を返すことができるかどうかを示す値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティIsItemsHostこの PanelItemsControl によって生成された UI 項目のコンテナーであるかどうかを示す値を取得します。 (Panel から継承されます。)
パブリック プロパティLanguageFrameworkElement に適用されるローカリゼーション/グローバリゼーション言語情報を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMarginFrameworkElement の外側の余白を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMaxHeightFrameworkElement の高さの上限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMaxWidthFrameworkElement の幅の上限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMinHeightFrameworkElement の高さの下限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティMinWidthFrameworkElement の幅の下限を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティNameオブジェクトの識別名を取得または設定します。XAML プロセッサが XAML マークアップからオブジェクト ツリーを作成すると、ランタイム コードでは、XAML で宣言されたオブジェクトをこの名前で参照できます。 (FrameworkElement から継承されます。)
パブリック プロパティOpacityオブジェクトの不透明度を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティOpacityMaskこのオブジェクトの領域の不透明度を変更する場合に使用するブラシを取得または設定します。 (UIElement から継承されます。)
パブリック プロパティParentオブジェクト ツリーにおけるこの FrameworkElement の親オブジェクトを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティProjectionUIElement のレンダリング時に適用されるパースペクティブ射影 (3-D 効果) を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティRenderSizeUIElement の最終的な描画サイズを取得します。 (UIElement から継承されます。)
パブリック プロパティRenderTransformUIElement の描画位置に影響する変換情報を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティRenderTransformOriginRenderTransform によって宣言された任意の描画変換の、UIElement の境界に対する原点を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティResourcesローカルで定義されたリソース ディクショナリを取得します。XAML では、XAML の暗黙的なコレクション構文を使用して、frameworkElement.Resources プロパティ要素の子オブジェクト要素としてリソース項目を設定できます。 (FrameworkElement から継承されます。)
パブリック プロパティStyleレンダリング中にこのオブジェクトに適用される Style インスタンスを取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティTagこのオブジェクトに関するカスタム情報を格納するために使用できる任意のオブジェクト値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティTriggersFrameworkElement に対して定義されたアニメーションのトリガーのコレクションを取得します。 (FrameworkElement から継承されます。)
パブリック プロパティUseLayoutRoundingオブジェクトとそのビジュアル サブツリーの描画で、描画をピクセル単位に揃える丸め処理を使用するかどうかを決定する値を取得または設定します。 (UIElement から継承されます。)
パブリック プロパティUseOptimizedManipulationRoutingシステムが入力イベントを処理するか、FrameworkElement が入力イベントを処理するかを示す値を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティVerticalAlignmentFrameworkElement が親オブジェクト (パネル コントロールや項目コントロールなど) の一部となる場合に適用される垂直方向の配置の特性を取得または設定します。 (FrameworkElement から継承されます。)
パブリック プロパティVisibilityUIElement の可視性を取得または設定します。表示されない UIElement は描画されず、レイアウトに対して必要サイズも伝達されません。 (UIElement から継承されます。)
パブリック プロパティWidthFrameworkElement の幅を取得または設定します。 (FrameworkElement から継承されます。)
このページのトップへ

  名前説明
アタッチされるパブリック プロパティLeftオブジェクトの左端と親 Canvas の左端との間の距離を取得または設定します。
アタッチされるパブリック プロパティTop要素の上端と親 Canvas の上端との間の距離を取得または設定します。
アタッチされるパブリック プロパティZIndexCanvas 内のオブジェクトの z オーダーの描画動作を取得または設定します。
このページのトップへ

  名前説明
パブリック メソッドAddHandler指定したルーティング イベントのルーティング イベント ハンドラーを、現在の要素のハンドラー コレクションに追加します。イベント ルート上の他の要素により既に処理済みとしてマークされているルーティング イベントに対し、指定したハンドラーが呼び出されるようにするには、handledEventsTootrue に指定します。 (UIElement から継承されます。)
パブリック メソッドArrange子オブジェクトを配置し、UIElement のサイズを決定します。子要素に対してカスタム レイアウトを実装する親オブジェクトは、それらのレイアウトのオーバーライド実装からこのメソッドを呼び出し、レイアウトを再帰的に更新する必要があります。 (UIElement から継承されます。)
プロテクト メソッドArrangeOverrideレイアウトの "配置" パスの動作を提供します。 (FrameworkElement.ArrangeOverride(Size) をオーバーライドします。)
パブリック メソッドCaptureMouseUIElement にタッチ キャプチャを設定します。 (UIElement から継承されます。)
パブリック メソッドCheckAccess呼び出しスレッドが、このオブジェクトにアクセスできるかどうかを判断します。 (DependencyObject から継承されます。)
パブリック メソッドClearValue依存関係プロパティのローカル値をクリアします。 (DependencyObject から継承されます。)
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドFindName指定した識別名を持つオブジェクトを取得します。 (FrameworkElement から継承されます。)
パブリック メソッドGetAnimationBaseValueアニメーションがアクティブでない場合に適用される、Windows Phone 依存関係プロパティに対し設定されている基本値を返します。 (DependencyObject から継承されます。)
パブリック メソッドGetBindingExpressionバインディングが確立された依存関係プロパティの BindingExpression を取得します。 (FrameworkElement から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッド静的メンバーGetLeft指定したオブジェクトの Left 添付プロパティの値を取得します。
パブリック メソッド静的メンバーGetTop指定したオブジェクトの Top 添付プロパティの値を取得します。
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドGetValueDependencyObject から依存関係プロパティの現在の有効値を返します。 (DependencyObject から継承されます。)
パブリック メソッド静的メンバーGetZIndex指定したオブジェクトの ZIndex 添付プロパティの値を取得します。
パブリック メソッドInvalidateArrangeUIElement の配置状態 (レイアウト) を無効にします。無効にした後、UIElement のレイアウトが更新されます。更新は非同期で行われます。 (UIElement から継承されます。)
パブリック メソッドInvalidateMeasureUIElement の測定状態 (レイアウト) を無効にします。 (UIElement から継承されます。)
パブリック メソッドMeasureUIElementDesiredSize を更新します。通常、レイアウトの子のカスタム レイアウトを実装するオブジェクトは、独自の MeasureOverride 実装からこのメソッドを呼び出し、レイアウトを再帰的に更新します。 (UIElement から継承されます。)
プロテクト メソッドMeasureOverrideレイアウトの "測定" パスの動作を提供します。 (FrameworkElement.MeasureOverride(Size) をオーバーライドします。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドOnApplyTemplate派生クラスでオーバーライドされると、アプリケーション コードや内部プロセス (再構築レイアウト パスなど) で ApplyTemplate が呼び出されるたびに呼び出されます。簡単に言えば、メソッドは、アプリケーションに UI 要素が表示される直前に呼び出されることになります。詳細については、「解説」を参照してください。 (FrameworkElement から継承されます。)
プロテクト メソッドOnCreateAutomationPeer派生クラスで実装された場合、Windows Phone オートメーション インフラストラクチャの、クラス固有の AutomationPeer 実装を返します。 (UIElement から継承されます。)
パブリック メソッドReadLocalValueローカル値が設定されている場合、依存関係プロパティのローカル値を返します。 (DependencyObject から継承されます。)
パブリック メソッドReleaseMouseCaptureUIElement からタッチ キャプチャを削除します。この呼び出しの後には、通常、タッチ キャプチャを保持しているオブジェクトがなくなります。 (UIElement から継承されます。)
パブリック メソッドRemoveHandler指定したルーティング イベント ハンドラーをこの UIElement から削除します。 (UIElement から継承されます。)
パブリック メソッドSetBinding指定されたバインディング オブジェクトを使用して FrameworkElement にバインディングをアタッチし、後で使用できるように BindingExpressionBase を返します。 (FrameworkElement から継承されます。)
パブリック メソッド静的メンバーSetLeft指定したオブジェクトの Left 添付プロパティの値を設定します。
パブリック メソッド静的メンバーSetTop指定したオブジェクトの Top 添付プロパティの値を設定します。
パブリック メソッドSetValueDependencyObject で依存関係プロパティのローカル値を設定します。 (DependencyObject から継承されます。)
パブリック メソッド静的メンバーSetZIndex指定したオブジェクトの ZIndex 添付プロパティの値を設定します。
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
パブリック メソッドTransformToVisualUIElement から指定したオブジェクトに座標を変換するために使用できる変換オブジェクトを返します。 (UIElement から継承されます。)
パブリック メソッドUpdateLayoutUIElement の子オブジェクトのすべての位置がレイアウトに対して適切に更新されるようにします。 (UIElement から継承されます。)
このページのトップへ

  名前説明
パブリック イベントBindingValidationErrorバインディング ソースによってデータ検証エラーが報告されたときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントDoubleTapDoubleTap ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントGotFocusUIElement がフォーカスを受け取ったときに発生します。 (UIElement から継承されます。)
パブリック イベントHoldHold ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントKeyDownUIElement にフォーカスがあるときにキーボード キーが押されると発生します。 (UIElement から継承されます。)
パブリック イベントKeyUpUIElement にフォーカスがあるときにキーボード キーが離されると発生します。 (UIElement から継承されます。)
パブリック イベントLayoutUpdatedWindows Phone のビジュアル ツリーのレイアウトが変化したときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントLoadedFrameworkElement が構築されてオブジェクト ツリーに追加されたときに発生します。 (FrameworkElement から継承されます。)
パブリック イベントLostFocusUIElement がフォーカスを失ったときに発生します。 (UIElement から継承されます。)
パブリック イベントLostMouseCaptureUIElement でタッチのキャプチャを失ったときに発生します。 (UIElement から継承されます。)
パブリック イベントManipulationCompletedUIElement の操作および慣性による処理が完了すると発生します。 (UIElement から継承されます。)
パブリック イベントManipulationDelta操作中に入力デバイスが位置を変更したときに発生します。 (UIElement から継承されます。)
パブリック イベントManipulationStarted入力デバイスで UIElement の操作を開始すると発生します。 (UIElement から継承されます。)
パブリック イベントMouseEnterUIElement の境界領域内で画面のタップが発生したときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeaveUIElement の境界領域外でタッチ イベントが発生したときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeftButtonDownUIElement がタップされたときに発生します。 (UIElement から継承されます。)
パブリック イベントMouseLeftButtonUpUIElement から指を離したときに (つまり、UIElement タッチ キャプチャを保持している間) 発生します。 (UIElement から継承されます。)
パブリック イベントMouseMove画面上で指の座標位置が UIElement をタッチしているときに (つまり、UIElement がタッチ キャプチャを保持している間) 発生します。 (UIElement から継承されます。)
パブリック イベントMouseWheelインフラストラクチャ。 マウス ポインターが UIElement 上にあるとき、または UIElement にフォーカスがあるときに、ユーザーがマウス ホイールを回転させると発生します。 (UIElement から継承されます。)
パブリック イベントSizeChangedFrameworkElementActualHeight プロパティまたは ActualWidth プロパティの値が変更されると発生します。 (FrameworkElement から継承されます。)
パブリック イベントTapTap ジェスチャがこの UIElement 上にある間にコミットされたときに発生します。 (UIElement から継承されます。)
パブリック イベントTextInputデバイスに依存しない方法で UI 要素がテキストを取得すると発生します。 (UIElement から継承されます。)
パブリック イベントTextInputStartデバイスに依存しない方法で UI 要素が最初にテキストを取得すると発生します。 (UIElement から継承されます。)
パブリック イベントTextInputUpdate入力方式エディター (IME) を使用してテキストが引き続き作成されるときに発生します。 (UIElement から継承されます。)
パブリック イベントUnloadedこのオブジェクトがメイン オブジェクト ツリーに接続されていない状態になると発生します。 (FrameworkElement から継承されます。)
このページのトップへ

  名前説明
パブリック フィールド静的メンバーLeftPropertyLeft 添付プロパティを識別します。
パブリック フィールド静的メンバーTopPropertyTop 添付プロパティを識別します。
パブリック フィールド静的メンバーZIndexPropertyZIndex 添付プロパティを識別します。
このページのトップへ

Canvas は、レイアウトを可能にする Panel 要素の 1 つです。それぞれの子オブジェクトは Canvas 領域内に表示されます。x 座標と y 座標を指定することで、Canvas 内でのオブジェクトの位置を制御します。これらの座標は論理ピクセル単位です。x 座標と y 座標は、通常、Canvas.Left 添付プロパティと Canvas.Top 添付プロパティを使用して指定します。Canvas.Left は、格納先の Canvas の左端からのオブジェクトの距離 (x 座標) を指定し、Canvas.Top は、格納先の Canvas の上端からのオブジェクトの距離 (y 座標) を指定します。

メモメモ:

絶対配置ではページのサイズが考慮されないため、通常は GridStackPanel をコンテナーとして使用することをお勧めします。詳細については、「Windows Phone のレイアウト」を参照してください。

Canvas オブジェクトは入れ子にすることができます。オブジェクトを入れ子にする場合、各オブジェクトが使用する座標は、そのオブジェクトを直接格納している Canvas が基準となります。

各子オブジェクトは UIElement である必要があります。XAML では、子オブジェクトを Canvas オブジェクト要素の内部 XML であるオブジェクト要素として宣言します。コードでは、Children プロパティでアクセスされるコレクションを取得することにより、Canvas 子オブジェクトのコレクションを操作できます。

Canvas オブジェクトは UIElement の型なので、Canvas オブジェクトは入れ子にすることができます。

多くの場合、Canvas は他のオブジェクトのコンテナーとしてのみ使用され、visible プロパティを持ちません。次の条件が少なくとも 1 つ満たされる場合、Canvas は可視になりません。

  • Height プロパティが 0 である。

  • Width プロパティが 0 である。

  • Background プロパティが null である。

  • Opacity プロパティが 0 である。

  • Visibility プロパティは、Visibility.Collapsed と等しくなります。

  • Canvas のいずれかの先祖オブジェクトが表示されない。

Canvas の左端から 30 論理ピクセル、上端から 30 論理ピクセルの位置に四角形を配置する方法を次の例に示します。


<Canvas Width="640" Height="480" Background="Transparent">
    <Rectangle Canvas.Left="30" Canvas.Top="30" 
               Fill="red" Width="200" Height="200" />
</Canvas>


前の例では、次の図のような出力を生成します。

Canvas 内への四角形の配置

Rectangle positioned 30 down and 30 over.

次の例では、ルート (白色) の Canvas が、Canvas.Left プロパティと Canvas.Top プロパティが 30 に設定された入れ子 (青色) の Canvas を格納しています。入れ子の青色の Canvas は、Canvas.Left 値と Canvas.Top 値が 30 に設定された赤色の四角形を格納しています。これにより、青い四角形で縁取られた赤い四角形が作成されます。これと同じレイアウトは、Border オブジェクトを使用して実現できます。


<Canvas Width="300" Height="300" Background="Transparent">
    <Canvas Width="250" Height="250" Canvas.Left="30" 
            Canvas.Top="30" Background="blue">

        <Rectangle Canvas.Left="30" Canvas.Top="30" 
                   Fill="red" Width="200" Height="200" />
    </Canvas>
</Canvas>


前の例では、次の図のような出力を生成します。

入れ子のオブジェクト

One rectangle inside another.

Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2016 Microsoft