WPF-UserControl-Ressourcen
Machte ich einen ResourceDictionary in eine WPF-Benutzer Control Assembly. Ich Möchte in der Lage sein zu verwenden, das über diese UserControl und haben alle die Formatvorlagen in dieser Datei getrennt.
ResourceDictionary:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style x:Key="c1BtnX1">
<Setter Property="Background" Value="Bisque"></Setter>
</Style>
</ResourceDictionary>
Seine Adresse ist Der Benutzer-Steuerelement-Assembly-Ressourcen/mainResX.xaml
und die Aussicht ist in der gleichen assembly/Views/view.xaml
Die Verwendung ich denke könnte sein:
<Border Style="{StaticResource ResourceKey=c1BtnX1}"
BorderBrush="Black"
Width="20"
Height="20">
<TextBlock Text="X" />
</Border>
Außerdem habe ich versucht, den unten code in das Benutzersteuerelement, um zu definieren, Pro Ressourcen Steuern, aber auf diese Weise scheint auch er konnte nicht finden, dass der Ressourcen.
<UserControl ... >
<UserControl.Resources>
<ResourceDictionary Source="../Resources/mainResX.xaml" />
</UserControl.Resources>
Wo und Wie soll ich/Definieren Sie diese ?
- Ist der XAML-Datei, die Build action auf Resource? (ist die Ressource? Ich habe nicht meine Programmierung computer in der Nähe...)
- Es ist Build-Aktion wurde nichts, ich habe es auf "Eingebettete Ressource", aber ich denke, das wäre gut, wenn ich wollte, es zu benutzen auf cross-Baugruppen. Nicht sicher sein kann "Content", oder ... ?!
- Wenn Sie es erstellt mit dem Assistenten (Resource Dictionary), seine Einstellung sein sollte, die Rechte Anzeige, die Sie sollten es nicht ändern.
- Ich bin mit VS11, Die Assistenten ? Ich Klick auf das Modul und fügte hinzu, ein ResourceDictionary in der "Ressourcen" - Ordner.
- Ich in der Regel mit der rechten Maustaste auf das Projekt und wählen Sie "Hinzufügen -> Neuer Eintrag", dann haben Sie einen dialog (nicht wirklich ein freak, sorry), wo Sie auswählen können Ressourcenverzeichnis. Werfen Sie einen Blick auf diese (mehr Lesen als nur die Antwort) stackoverflow.com/questions/347614/wpf-image-resources
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich kann nicht sagen, was Ihre Datei-Struktur von Informationen.
Wenn die Ressource.xaml und Kontrolle.xaml sind im gleichen Ordner mit dem gleichen Versammlung, Sie würde einfach Referenz mainResX.xaml-ohne "/Resources" zuerst; ansonsten müssen Sie die Rechnung für die Datei-Struktur, irgendwie.
Sind Sie in der gleichen assembly? Sie können 'zu Fuß' der Baum mit so vielen "../" strings vorangestellt, um die Lage, wie erforderlich, und der in mit dem Ordner (dh, "../Resources/mainResX.xaml")
Wenn Sie sich in unterschiedlichen Baugruppen, müssen Sie eine pack-uri. Kann man eigentlich immer tun, es ist zwar ein wenig umständlich, wenn nicht notwendig. Hier ist ein Beispiel
HTH,
Berryl
Persönlich mag ich die Verwendung meiner App.xaml angeben "MergedDirectory" von XAML-Dateien, die Stile, die ich weltweit in meinem app. Normalerweise habe ich eine "DefaultStyles.xaml", um alle globalen Stil (wie, wenn Sie wollen, dass alle Textfelder in der app zu suchen, die dasselbe ohne Angabe der Art). Dann habe ich "Styles.xaml", um bestimmte Stile, oder Sie können sogar ein xaml-pro control-Typ, wenn Sie wirklich eine Menge von Ihnen...
Die Tatsache, dass Sie diese unter app.xaml macht Sie global für Ihre app, und nicht verlangen, dass Sie ständig re-geben Sie die Pfade und Wörterbücher. Das kann natürlich passen nicht alle coding-Situationen, aber für mich ist es eine Zeitersparnis.