Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
"Template-Klasse" um template in mehreren Projekten zu verwenden?
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

"Template-Klasse" um template in mehreren Projekten zu verwenden?

beantworten | zitieren | melden

Hallo,

kann ich irgenwie eine Art "Template-Klasse" erstellen, in welcher ich ControlTemplate's speichern kann, welche ich dann in mehreren Projekten laden kann?

mfg
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 7290
Herkunft: Esslingen

beantworten | zitieren | melden

Dafür gibts ResourceDictionarys die du einfach in verschiedenen Projekten dann einbinden kannst.
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

Und wie erstell ich so ein Teil "alleinstehend" und nicht z.b. in der App.xaml bzw. wie lade ich das dann in den einzelnen Projekten?
private Nachricht | Beiträge des Benutzers
nitronic
myCSharp.de - Member

Avatar #avatar-1597.jpg


Dabei seit:
Beiträge: 354
Herkunft: Österreich

beantworten | zitieren | melden

Du musst natürlich in deiner Anwendung darauf verweisen. Wenn es global für die Anwendung gelten soll, dann muss es in der App.xaml definiert sein (bzw. manuelles Laden würde auch funktionieren).

Grundsätzlich legst du einfach Ressource Dictionaries an und verweist einfach auf sie. Dann kannst du dir noch aussuchen, ob du sie reinkompilieren willst oder nicht. Diese Dictionaries kannst du dann in einem anderen Projekt genauso einbinden. Ist übrigens recht sinnvoll, wenn alle deine Anwendungen den gleichen Style verwenden sollen.
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

Zitat von nitronic
...Grundsätzlich legst du einfach Ressource Dictionaries an ...
...dieser Teil ist mir nicht ganz klar, gibts da irgendwo ein kurzes tutorial?
private Nachricht | Beiträge des Benutzers
nitronic
myCSharp.de - Member

Avatar #avatar-1597.jpg


Dabei seit:
Beiträge: 354
Herkunft: Österreich

beantworten | zitieren | melden

Ja, hier.
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

Hallo,

also das definieren im anderen File hab ich jetzt geschafft, aber das verweisen auf das Templte funktioniert nicht.
Ich habe zuerst das andere Projekt, in welchem das XAML mit dem template ist mittels xmlns:NAME referenziert, doch egal wie ich nacher das template setze (TEMPLATE, NAME:TEMPLATE, NAME:NAMEdesXAMLrootOBJECT:TEMPLATE,...), er findet es nicht...

P.S.: Mein Code ist hier einsehbar:
http://trac2.assembla.com/FreeBPM/browser
Das XAML mit dem template ist unter GlassComponents/GlassStyle.xaml und benutzt werden soll es in BPMPlayer/PlayerGUI.xaml...
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von CaptainIglo am .
private Nachricht | Beiträge des Benutzers
nitronic
myCSharp.de - Member

Avatar #avatar-1597.jpg


Dabei seit:
Beiträge: 354
Herkunft: Österreich

beantworten | zitieren | melden

Du hast das ja alles in eine Page gegeben. Verwende eine Resource Dictionary. D.h. nicht "New Page", sondern "New Item" und dann "Resource Dictionary".

Solltest VS in deutscher Sprache haben, na dann viel Spaß. Gerade gesehen, dass das da ja fürchterlich klingt. Anbei ein Screenshot dessen, was du verwenden solltest.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von nitronic am .
Attachments
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

Sorry, aber ich stehe gerade etwas auf der Leitung:
Wenn ich di Page druch ein Item ersetze bekomme ich nur ein "'Item' was not found" ausgegeben und wie genau muss ich jetzt das Template nacher setzen?

Edit: Hab dein Bild erst jetzt gesehen: Hab ein engl. VS aber bei mir gibts sowas nicht...

Edit2:
Habe jetzt das erstellen des ResourceDictionary's geschafft aber wenn ich es mit folgendem Code
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="..\GlassComponents\GlassStyle.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </UserControl.Resources>
einbinden will, kommt folgende Fehlermeldung: "The 'Build Action' property of the file '..\GlassComponents\GlassStyle.xaml' should be set as 'Resource' or 'Page'.", egal was ich da eingestellt habe...
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von CaptainIglo am .
private Nachricht | Beiträge des Benutzers
.tim
myCSharp.de - Member



Dabei seit:
Beiträge: 332
Herkunft: Mainz

beantworten | zitieren | melden

Bei mir stehen die Resource XAML auf Page.

Der Fehler kommt bei dir, obwohl der "Buildvorgang" bei dir von GlassStyle.xaml auf Page steht?
private Nachricht | Beiträge des Benutzers
nitronic
myCSharp.de - Member

Avatar #avatar-1597.jpg


Dabei seit:
Beiträge: 354
Herkunft: Österreich

beantworten | zitieren | melden

Entferne mal das ..\ aus deiner Pfadangabe.
.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

@.tim: Ja...
Zitat von nitronic
Entferne mal das ..\ aus deiner Pfadangabe.
Dann kommt: "Value 'GlassComponents\GlassStyle.xaml' cannot be assigned to property 'Source'. Value does not fall within the expected range."...
private Nachricht | Beiträge des Benutzers
CaptainIglo
myCSharp.de - Member



Dabei seit:
Beiträge: 366
Herkunft: Feldkirch - Österreich

Themenstarter:

beantworten | zitieren | melden

Ich habe jetzt alles probiert, wasmir nur eingefallen ist, aber ich bekomme das ResourceDictionary nicht eingebunden, sobald es in einem anderen Projekt/Ordner ist...
private Nachricht | Beiträge des Benutzers