Silverlight Dynamic Control non viene visualizzato
-
05-07-2019 - |
Domanda
Ho un semplice controllo con il codice per aggiungere alcuni percorsi. Quando aggiungo il mio controllo nell'area di controllo, non viene visualizzato nulla. Per essere sicuro che non fossi pazzo, ho eseguito il debug attraverso il codice, ho creato un equivalente XAML e l'ho posizionato sul lato in cui dovrebbe apparire il mio controllo. Ho provato a cambiare l'indice z e varie combinazioni in alto / a sinistra per provare a mostrare i miei percorsi, ma senza fortuna. I miei controlli sono nella collezione per bambini di Canvas, ma non vogliono alzare! Ecco il mio codice
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);
}
Ed ecco la XAML. I percorsi che sono stati codificati sono i percorsi che ho creato esaminando il codice.
<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>
Quando eseguo tutto, vengono visualizzati solo i percorsi codificati.
Soluzione
Due domande veloci, quando ci hai passato, getDate (i) hanno restituito un percorso e getColor () ha restituito qualsiasi altra cosa tranne colors.transparent