0

我有一个带有代码的简单控件来添加一些路径。当我将控件添加到控件画布时,什么都没有显示。为了确保我没有发疯,我调试了代码,并创建了一个等效的 XAML 并将它放在我的控件应该显示的一侧。我尝试更改 z-index 和各种顶部/左侧组合以尝试显示我的路径,但没有运气。我的控件在 Canvas 儿童系列中,但他们就是不想出现!这是我的代码

for (int i = 0; i < 4; i++)
{
    SolidColorBrush brush = new SolidColorBrush();
    brush.Color = GetColor();

    path = new Path();
    path.Data = getData(i);
    path.Name = i.ToString();
    path.SetValue(Canvas.LeftProperty, 150.0);
    path.SetValue(Canvas.TopProperty, 150.0);
    path.SetValue(Canvas.ZIndexProperty, 1000);
    path.Fill = brush;
    mainLayout.Children.Add(path);
}

这是 XAML。其中硬编码的路径是我通过单步执行代码创建的路径。

<Canvas Name="mainLayout">
    <Path Name="Path5" Fill="Red" Canvas.Left="450" Canvas.Top="150" Data="M 0,-100 A 100,100 0.628332123128715 0 1 58.7796248729471,-80.9009004881628 L 0,0" ></Path>
    <Path Name="Path6" Fill="Green" Canvas.Left="450" Canvas.Top="150" Data="M 58.7796248729471,-80.9009004881628 A 100,100 0.559576083957105 0 1 92.7589501245075,-37.3601013355041 L 0,0" ></Path>
    <Path Name="Path7" Fill="Blue" Canvas.Left="450" Canvas.Top="150" Data="M 92.7589501245075,-37.3601013355041 A 100,100 3.11153310318617 0 1 -91.5941871397306,40.1310961999795 L 0,0" ></Path>
    <Path Name="Path8" Fill="Yellow" Canvas.Left="450" Canvas.Top="150" Data="M -91.5941871397306,40.1310961999795 A 100,100 1.98374399690759 0 1 -1.1330996904646E-13,-100 L 0,0" ></Path>
</Canvas>

当我运行所有内容时,只显示硬编码路径。

4

1 回答 1

1

两个简单的问题,当您逐步完成它时,getDate(i) 是否返回了路径,getColor() 是否返回除了 colors.transparent 之外的任何其他内容

于 2009-11-26T18:12:02.320 回答