WindowsFormで作ってたプログラムで画面周りの問題(ボタンの形状云々やら要するに見た目の問題)でWPFを触っています。
見た目はかなり思い通りの物が出来ていますがいかんせんノウハウがないので分からない事が出ました。
作り自体はWinFormの考えでやってるため、Formで言うPanelの代用品的な考えでCanvasを使ってみており下記のように作成しています(簡略してます)
c#
1<Window> 2 <Canvas RenderTransformOrigin="0,0"> 3 <Canvas x:Name="Panel21" Canvas.Left="100" Width="100"> 4 <Image /> 5 </Canvas> 6 <Canvas x:Name="Panel22" Canvas.Left="200" Width="100"> 7 <Image /> 8 </Canvas> 9 </Canvas> 10</Window>
コード側でPanel2-1 2-2のVisibleを操作するのはVisibilityで実現できそうな事がわかりました。
で本題としてはこのCanvasそのもの「Panel21」や「Panel22」自体の位置を変更したかったのですがLeft等のプロパティがありません。
XAMLと言うかデザイナ画面ではCanvas.Left="500"とかで指定出来るようで実際にそのように表示されます。
しかしコードではどう書けば良いのでしょうか?
SetLeftとかかと思ったのですがこれは子要素の位置を変更するための物のようですし、そもそもSetLeft自体も出てきません。
Panelの代用としての使い方自体が間違ってるかな?とも思いますがGridやStackPanel等では使い方が違うように思ったのでそれであれば今までそうしてきた物をWPFで実現するためのヒントなど頂けたらと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/10 04:42