Silverlight Dynamic Control no se muestra
-
05-07-2019 - |
Pregunta
Tengo un control simple con código para agregar algunas rutas. Cuando agrego mi control al lienzo de control, no aparece nada. Para asegurarme de que no estaba loco, depuré a través del código, creé un equivalente de XAML y lo coloqué al lado de donde debería estar apareciendo mi control. He intentado cambiar el índice zy varias combinaciones Top / Izquierda para intentar mostrar mis caminos pero no tengo suerte. Mis controles están en la colección de niños de Canvas, ¡pero simplemente no quieren aparecer! Aquí está mi código
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);
}
Y heres el XAML. Las rutas codificadas de manera rígida son las que creé al pasar por el código.
<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>
Cuando ejecuto todo, solo se muestran las rutas codificadas.
Solución
Dos preguntas rápidas, cuando lo recorriste, getDate (i) devolvió una ruta y getColor () devolvió cualquier otra cosa, excepto colors.transparent