2010-09-16 8 views
5

WPF'de yeni. Yeni bir WPF UserControl oluşturuldu. Bazı kullanıcıların uygulama düzeyindeki ress kaynaklarını ayarlamak için bir app.xaml dosyası kullandığını görün.App.XAML neredesin?

Çözümüm bir WinForm ve bir WPF UserControl'den oluşur. Herhangi bir yerde bir app.xaml dosyası göremiyorum.

nasıl yürütülür?

cevap

4

App.xaml WPF uygulama ile ilişkilidir içinde bir WPF denetimi barındıran bu dosyayı almak için bir WPF veya Silverlight uygulaması oluşturmak gerekir. Sadece bir UserControl'ünüz varsa, bunun bir parçası olmak için bir uygulama yok, öyle mi? Bir WPF kullanıcı denetimi kullanıyorsanız

bir WPF uygulaması oluşturun ve uygulama düzeyinde kaynak koymak. ilgilenilen Out

bir App.xaml olacak, neden WinForm var?

DÜZENLEMEK: Yorumumu tekrarlamak için: WPF uygulaması oluşturmuyorken WPF Uygulaması kaynakları sorunsuz bir şekilde sağlanmayacaksınız.

DÜZENLEME: Anthony Brien'in cevabında belirtildiği gibi, burayı hackleyeceğiniz görülüyor - ama muhtemelen yardımcı olabilseniz'a karşı 'u şiddetle tavsiye ederim. Temel olarak, platformun beklentilerine karşı çalışıyorsunuz - ve bu asla içeride olmak için iyi bir durum değil.

+2

olmadan yapmak istiyorum çünkü mevcut bir WinForms uygulamasını WPF elemanları ile doldurmayı düşünüyoruz. Şu an bütün mantığı doğrudan WPF'ye bağlayamayız. – serhio

+1

WPF kullanıcı kontrollerini, tam bir WPF uygulaması olacak umuduyla büyük bir winform uygulamasında barındırıyorum.Ancak bu yeni bir proje ise, Jon Skeet –

+0

ile tamamen aynı fikirdeyim bu bir demo uygulamasıdır. Ancak bu demonun kapsamı, bir WinForm'un WPF kontrollerini nasıl barındırabileceğini göstermektir. Yani prensipte bunu WPF'ye değiştiremiyorum. – serhio

3

Sen aslında Win uygulamada

+0

Yani, tam bir WPF uygulaması olmadan app.xaml'de hiç erişimim yok, doğru muyum? – serhio

+1

Demo uygulaması için gerçekten ihtiyacınız var mı? –

+0

Bu tanıtımın kapsamı, bir WinForm'un WPF denetimlerini nasıl barındırabileceğini göstermektir. Yani prensipte bunu WPF'ye değiştiremiyorum. – serhio

3

Bir WinForm projesi oluşturduysanız, bir app.xaml dosyası olmayacaktır.

Bunun yerine bir WPF projesi oluşturun.

+1

Bir Winform WPF hots'a ihtiyacım var. – serhio

2

Bu makale barındırılan/birlikte çalışma senaryosunda uygulama geniş kaynaklara sahip nasıl çok detaylı anlatıyor bak:

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

(makaleden) Seçtiğim çözüm yolu App eklemektir. kodu ekleyin

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

: bir sayfa unsuru olarak

Değiştir proje dosyasını XAML

public App() 
{ 
    InitializeComponent(); 
} 

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

Makalenin tüm ayrıntıları makalede verilmiştir.

İlgili konular