Moin moin,
ich habe mal wieder ein kleines Problem.
Ich habe eine Silverlight Anwendung, in der ich in der App.xaml einen Style definiere.
Das Problem ist nur das ich nicht an den Style "rankomme".
Auch wenn ich es mit App.Current.Resources["StyleName"] probiere bekomme ich immer null zurück.
Ich habe auch schon probiert den Style in ein ResourceDictonary auszulagern, aber ich habe da auch keinen zugriff auf den Style.
Aber zurück, weiss jemand vllt. ein paar Punkte die man Beachten sollte wenn man einen Style in der App.xaml definiert und den Global zu Verfügung stellen möchte?
Mfg.
Mr. Bob
Hallo mrbob,
Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 5. Wir könne so nur raten und alles andere steht in der :rtfm:
Hast du auch die Keys entsprechend definiert bzw. den TargetType (der implizit den Key dann setzt)?
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Moin moin,
ja das habe ich noch vergessen zu schreibe sry...
Hier mal ein auszug aus der App.xaml
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="Test.App">
<Application.Resources>
<Style x:Key="Style"
TargetType="ContentControl">
<Setter Property="Width"
Value="178" />
</Style>
</Application.Resources>
</Application>
Wie man sieht setzt ich den Key und der TargetTyp. Aber ich kann nicht aus den Style zugreifen. Wenn ich jetzt in meinen UserControl auf den Style mit
Style="{StaticResource Style}"
Zugreifen möchte bekomme ich nichts zurückgeliefert. Auch wenn ich mit
App.Current.Resources["Style"]
versuche den Style zu holen bekomme ich immer null zurück.
Mfg.
Mr. Bob
Hallo mrbob,
da musst du noch was anderes haben. So wie du es gezeigt hast funktionierts (bei mir 😉).
Auch die Bezeichnung "Style" würde ich sinnvoller machen, z.B. "contentControlStyle".
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Moin moin,
das war auch kurz nur ein Beispiel.
Ich habe es aber nun geschafft die Resourcen Datei in der Code Behind Datei zu laden und dem Control zuzuweisen:
var rd = new ResourceDictionary()
{
Source = new Uri("/TestApp;component/Resources/Resources.xaml", UriKind.Relative)
};
return rd["Style"] as Style;
Ich sage mal danke für deine Hilfe und mühe.
Mfg.
Mr. Bob
Hallo mrbob,
das ist aber auch nur ein Workaround 😉
Setzt den Style lieber in XAML, wenn das nicht geht ist irgendwo was falsch deklariert, denn normalerweise geht das schon.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Moin moin,
ja gfoidl mir ist bewusst das es nur ein Workaround ist, aber es geht erstmal.
Und da es jetzt auch bis morgen mal lauffähig sein muss (Ich bin dann erstmal zwei Wochen im Urlaub), bin ich erstmal zufrieden das es mit dem Workaround geht.
Nach dem Urlaub setzte ich mal hin und mache es richtig (Bin auch nicht gerade der Fan von Workarounds)
Mfg.
Mr. Bob