WPF uygulamaları için .NET Core 3.0'da System.Windows.Forms'a nasıl başvurulur?


12

WPF masaüstü uygulamamı .NET Framwork'ten Core 3.0'a taşıyorum. System.Windows.Forms.FolderBrowserDialog () kullanıyordum ve şimdi bu referansı Core projesine nasıl ekleyeceğime takılıp kalıyorum. Kullanılabilir "System.Windows.Forms" NuGet paketi yok mu? Core'da FolderBrowserDialog'u görüntülemenin alternatif bir yolu var mı?

Güncelleme

Varsayılan şablonu kullanarak Core projesini oluşturdum ve yapıştırılan .cs ve .xaml dosyalarını içine kopyaladım. .Csproj dosyası şöyle görünür:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
    <UseWPF>true</UseWPF>
  </PropertyGroup>

Belgeler sınıfın mevcut olduğunu söylüyor: docs.microsoft.com/pl-pl/dotnet/api/… - lütfen csproj dosyasını yapıştırın - belki TargetFramework yanlış olabilir.
Hostel

Lütfen güncellenmiş soruyu kontrol edin. Sayfayı da gördüm, ancak derleyici hatayı veriyor The type or namespace name 'Forms' does not exist in the namespace 'System.Windows've referans içe aktarma önerisi yok.
yaugenka

Yanıtlar:


17

Csproj ek anahtarına eklemeniz gerekir:

<UseWindowsForms>true</UseWindowsForms>

UseWpf altına ekleyin . Ardından yeniden oluşturmayı deneyin. Bundan sonra Formlar ad alanını kullanabilmeniz gerekir.


İşe yarıyor! Teşekkür ederim. Her iki anahtarın da basıncı performansı nasıl etkiler? Formlardan ihtiyacım olan sadece FolderBrowserDialog.
yaugenka

Çok teşekkürler! Bu soruna bir çözüm arıyordum. Mucizevi şekilde çalışır!
Ratish

1

Zaten varmış gibi görünüyor: https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.folderbrowserdialog?view=netcore-3.0

Diğer taşıma sorunları için, bağlantı noktası uygulamalarının .NET Core'a yardım etmesine yardımcı olan Windows Uyumluluk Paketi'ni kullanmak isteyebilirsiniz.

WPF ve bu sorunla ilgili daha fazla bilgi de olabilir, çünkü bir süredir var. Bu yardımcı olabilir WPF klasör iletişim kutusunu seçin ve .NET Core için güncellendi.

Yükseltmenizde iyi şanslar!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.