2017-10-15 10 views
-1

WPFのキャンバスに図形を描画する際に非常に奇妙な問題が発生しました。WPFキャンバスの図形が表示されない

<DockPanel Grid.Row="3"> 
      <Canvas Name="BottomCanvas" Margin="15" Background="Yellow"> 
       <Canvas Name="TransparentCanvas" Background="Transparent" 
         MouseDown="TransparentCanvas_MouseDown" 
         MouseUp="TransparentCanvas_MouseUp" 
         MouseMove="TransparentCanvas_MouseMove" 
         Width="{Binding RelativeSource={RelativeSource FindAncestor, 
         AncestorType={x:Type Canvas}},Path=ActualWidth}" 
         Height="{Binding RelativeSource={RelativeSource FindAncestor, 
         AncestorType={x:Type Canvas}},Path=ActualHeight}"> 
       </Canvas> 
      </Canvas> 

     </DockPanel> 

上記のキャンバスが定義されています。以下

elipse描画の単純な例があります。なぜこれが効果がないのか分かりません。

   Ellipse myEllipse = new Ellipse(); 
       SolidColorBrush mySolidColorBrush = new SolidColorBrush(); 
       mySolidColorBrush.Color = Color.FromArgb(0, 0, 255, 0); 
       myEllipse.Fill = mySolidColorBrush; 
       myEllipse.Width = myEllipse.Height = 100; 
       Canvas.SetTop(myEllipse, 15); 
       Canvas.SetLeft(myEllipse, 15); ; 
       bottomCanvas.Children.Add(myEllipse); 

誰が間違っていると見ることができますか?

EDIT: ごめんなさい。あなたはXAMLキャンバスに見ることができるようにプロパティである「BottomCanvas」という名前で、コードの中で私がbottomCanvasを使用しました、私は何のためかわからないMainWindowに加えます。それは契約でした。

答えて

4

あなたはEllipseが表示されていない意味ですか?これは、透明な塗りがSolidColorBrushのためです。 ColorAlphaの値はゼロであってはなりません。これは不可視です。その場合は、ColorAlphaの値を変更してください。

mySolidColorBrush.Color = Color.FromArgb(255, 0, 255, 0); 
+0

これは注意書きです。ありがとう! –

+0

問題を理解するために '[Snoop](http://snoopwpf.codeplex.com)'を使います。 – Iron

+0

@ wis.niowy他の人がすぐに問題を解決できるようにこの回答を受け入れることができますか? – Iron

関連する問題