Brush funktioniert im Xaml, ist aber null im Code?
-
Hi,
Habe gerade irgendwie eine Denkblockade. Ich habe ein Control namens "Header", es wird wie folgt genutzt und auch korrekt angezeigt:
<Header Grid.Row="0" Text="{Binding Path=Title}"> <Header.Background> <SolidColorBrush Color="#C4010F" x:Name="HeaderBackground"/> </Header.Background> </Header>Der Brush hat einen Namen via
x:Name="HeaderBackground". Im Code kann ich den Namen mittelsthis.HeaderBackgroundansprechen und es kompiliert auch, jedoch ist der Wert immernull.Warum ist dies so? Ach ja, ist auf dem Windows Phone

MfG
-
Wahrscheinlich ist die folgende Frage überflüssig, aber ich frag mal trotzdem, da es der offensichtlichste Fehler wäre. Aktuell auch das einzige, was mir dazu überhaupt einfällt

Greifst du auf das Element zu, bevor du
InitializeComponentaufgerufen hast?Grüssli
-
Danke, aber das war auch mein erster Gedanke, weil ich auch noch mit Threads in derlei arbeite. Der Zugriff erfolgt aber nach dem
InitializeComponent-Aufruf in einer überschriebenen MethodeOnNavigatedTo, aufgerufen vom Dispatcher, wo ich gerne den Background mit einem Storyboard animieren möchte (nichts spezielles, nur ein Farbübergang von rot nach blau z.B.).Wenn ich dem Control selbst das Attribut
x:Name="Header"verpasse, ist dieses ohne Probleme mittelsthis.Headeransprechbar.$EDIT: Habe das Problem umgehen können, indem ich die Animation mit weniger Namen in Xaml realisiert habe.
<phone:PhoneApplicationPage.Resources> <Storyboard x:Key="AnimHeaderBackground"> <ColorAnimation Storyboard.TargetName="Header" Storyboard.TargetProperty="(Panel.Background).(SolidColorBrush.Color)" Duration="0:1:0"/> </Storyboard> </phone:PhoneApplicationPage.Resources>Vielen Dank trotzdem

-
Ein anderer Name und dann geht es? Gibt es womöglich bereits ein
HeaderBackgroundProperty in der Hierarchie?Grüssli