代码之家  ›  专栏  ›  技术社区  ›  wis.niowy

WPF画布中的形状不显示

  •  0
  • wis.niowy  · 技术社区  · 7 年前

    我遇到了一个非常奇怪的问题,在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>
    

    上面是我定义的画布。

                    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);
    

    有人知道怎么了吗?

    bottomCanvas 这是添加到 MainWindow 我不知道为什么。这就是交易。

    1 回复  |  直到 7 年前
        1
  •  5
  •   Iron    7 年前

    Ellipse 不可见?这只是因为 SolidColorBrush . 这个 Alpha 的价值 Color 不应为零,这意味着不可见。如果是这样,只需更改 的价值 颜色 :

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