문제

경로를 추가 할 코드가있는 간단한 컨트롤이 있습니다. 제어 캔버스에 컨트롤을 추가하면 아무것도 나타나지 않습니다. 내가 미쳤는지 확인하기 위해 코드를 디버깅하고 XAML에 해당하는 것을 만들어 제어가 나타나야하는 위치에 배치했습니다. 나는 z-index와 다양한 상단/왼쪽 조합을 변경하려고 시도했지만, 내 경로를 보여줄 것이지만 운이 없다. 내 컨트롤은 Canvas Children 컬렉션에 있지만, 그냥 일어나고 싶지는 않습니다! 여기 내 코드가 있습니다

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>

내가 모든 것을 실행하면 하드 코딩 된 경로 만 나타납니다.

도움이 되었습니까?

해결책

두 가지 빠른 질문, 당신이 그것을 밟을 때, GetDate (i) 경로를 반환하고 getColor ()가 색상을 제외한 다른 것을 반환했습니다. Transparent

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top