Hallo,
ich habe diesen Code:
public static void Execute(List<ElementBase> b)
{
foreach (StyleElement elementBase in b.Where(elementBase => elementBase is StyleElement))
{
var p = new CSS.CssParser().ParseAll(elementBase.Source);
foreach (var cssParserRule in p)
{
foreach (var selector in cssParserRule.Selectors)
{
foreach (ElementBase bb in b)
{
if (bb is UiElement)
{
var bbb = bb as UiElement;
if (bbb.Name == selector)
{
foreach (var d in cssParserRule.Declarations)
{
var prop = bbb.GetType().GetProperty(d.Property);
if (prop != null)
{
if (prop.DeclaringType.Name == typeof (Margin).Name)
prop.SetValue(bbb, MarginConverter.Convert(d.Value), null);
var tb = bbb as TextBox;
if (tb != null)
{
if (prop.DeclaringType.Name == typeof (Color).Name)
prop.SetValue(bbb, ColorConverter.Convert(d.Value), null);
}
}
}
}
}
}
}
}
}
}
prop ist aber immer null obwohl die eigenschaft existiert. mache ich getproperties sind 0 properties vorhandne. Was mache ich falsch?
C. Anders
Kann das Property aufgrund seiner Deklaration mit diesem Aufruf überhaupt gefunden werden? Lies nach was die Methode genau macht, man kann in anderen Überladungen noch angeben welche Sichtbarkeit gefunden werden soll.