Silverlight Dynamic Control nicht angezeigt
-
05-07-2019 - |
Frage
Ich habe eine einfache Steuerung mit dem Code einige Pfade hinzuzufügen. Wenn ich meine Kontrolle an die Steuer Leinwand hinzufügen, zeigt nichts auf. Um sicher zu gehen, dass ich nicht verrückt war, gedebuggt ich durch den Code und erstellt ein XAML-äquivalent und legte sich an der Seite von wo meine Kontrolle soll zeigen, auf. Ich habe versucht, die Änderung den z-Index und verschiedene Top / Linke Kombination versuchen, ein meine Pfad bekommen zu zeigen, aber kein Glück. Meine Einstellungen sind im Canvas-Kinderkollektion, aber sie wollen einfach nicht drehen! Hier ist mein Code
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);
}
Und here die XAML. Die Wege hart codiert dort die Wege, die ich durch Schreiten durch den Code erstellt.
<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>
Wenn ich alles laufen, nur die hart codierten Pfade angezeigt.
Lösung
Zwei kurze Fragen, wenn man durch sie trat, tat getDate (i) einen Weg zurück und tat getColor () irgendetwas anderes außer colors.transparent zurückkehren