2010-09-16 5 views
5

Ich bin neu in WPF. Ein neues WPF-Benutzersteuerelement wurde erstellt. Beachten Sie, dass einige Benutzer eine app.xaml-Datei verwenden, um Ressourcen auf Anwendungsebene festzulegen.App.XAML wo bist du?

Meine Lösung besteht aus einem WinForm und einem WPF UserControl. Ich sehe irgendwo keine app.xaml-Datei.

So gehen Sie vor?

Antwort

4

App.xaml ist im Zusammenhang mit einer WPF-Anwendung ein WPF-Steuerelement in einer WinForms-Anwendung tatsächlich Hosting. Wenn Sie nur ein Benutzersteuerelement haben, gibt es dafür keine Anwendung, oder?

eine WPF-Anwendung erstellen und Sie erhalten eine App.xaml haben in der Anwendungsebene Ressourcen setzen.

Aus Interesse, warum haben Sie WinForm, wenn Sie eine WPF-Benutzersteuerung verwenden?

BEARBEITEN: Um meinen Kommentar zu wiederholen: Sie werden nicht mit WPF-Anwendung Ressourcen reibungslos zur Verfügung gestellt, wenn Sie keine WPF-Anwendung erstellen.

EDIT: Wie in Anthony Briens Antwort erwähnt, es scheint, Sie können es hacken - aber ich würde dringend gegen diese Art von Sache empfehlen, wenn Sie möglicherweise helfen können. Grundsätzlich arbeiten Sie gegen die Erwartungen der Plattform - und das ist nie eine schöne Situation.

+2

, weil wir denken, eine große WinForms-Anwendung mit WPF-Elementen zu füllen. Wir können jetzt nicht alle Logik direkt auf WPF übertragen. – serhio

+1

Ich hostiere WPF-Benutzersteuerelemente in einer großen Winforms-App, die hoffentlich zu einer vollständigen WPF-App wird.Aber wenn das ein neues Projekt ist, stimme ich Jon Skeet –

+0

voll zu, das ist eine Demo-Anwendung. Im Rahmen dieser Demo soll jedoch gezeigt werden, wie WinForm WPF-Steuerelemente hosten kann. Also im Prinzip kann ich es nicht zu WPF eins ändern. – serhio

3

Sie benötigen eine WPF oder Silverlight-Anwendung zu erstellen, die Datei zu erhalten Du

+0

Also, ohne eine vollständige WPF-Anwendung habe ich keinen Zugriff auf app.xaml, habe ich recht? – serhio

+1

Wenn es für eine Demo-Anwendung ist, brauchen Sie es wirklich wirklich? –

+0

Der Umfang dieser Demo soll demonstrieren, wie ein WinForm WPF-Steuerelemente hosten kann. Also im Prinzip kann ich es nicht zu WPF eins ändern. – serhio

3

Wenn Sie ein WinForm-Projekt erstellt haben, wird es keine app.xaml haben.

Erstellen Sie stattdessen ein WPF-Projekt.

+1

Ich brauche das Winform Hot WPF. – serhio

2

Dieser Artikel beschreibt im Detail, wie in einem gehosteten/Interop-Szenario Anwendung weite Ressourcen haben:

http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/

Der Lösungsweg I (aus dem Artikel) gewählt habe, ist App enthalten. XAML als Seitenelement

Ändern Projektdatei:

<Page Include="App.xaml" /> 
<Compile Include="App.xaml.cs"> 
    <DependentUpon>App.xaml</DependentUpon> 
    <SubType>Code</SubType> 
</Compile> 

Code hinzufügen:

public App() 
{ 
    InitializeComponent(); 
} 

public static void EnsureApplicationResources() 
{ 
    if (Application.Current == null) 
    { 
     // create the Application object 
     new App(); 
    } 
} 

Vollständige Details sind in dem Artikel.

Verwandte Themen