Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw SDK do aplikacji systemu Windows obsługuje dwa języki tworzenia aplikacji: C# i C++. Każdy język używa projekcji języka do wywoływania interfejsów API środowisko wykonawcze systemu Windows (WinRT), a oba używają języka XAML (w szczególności WinUI 3 XAML w Microsoft.UI.Xaml przestrzeni nazw) w celu zdefiniowania interfejsu użytkownika. Razem te projekcje i struktura interfejsu użytkownika tworzą warstwę platformy.
Note
Języki C# i C++ to jedyne języki z obsługiwanymi projekcjami dla Zestaw SDK do aplikacji systemu Windows i WinUI 3. Projekty społeczności istnieją dla innych języków (takich jak Rust), ale nie są one oficjalnie obsługiwane.
Czy musisz wiedzieć o tym?
Jeśli tworzysz projekt na podstawie standardowych szablonów Visual Studio dla Zestaw SDK do aplikacji systemu Windows lub WinUI 3, projekcja języka jest już skonfigurowana. Kod C# lub C++ może wywoływać bezpośrednio interfejsy API WinRT i nie trzeba myśleć o sposobie działania projekcji.
Zazwyczaj należy dokładniej przyjrzeć się warstwie projekcji, gdy:
- Utwórz składnik środowisko wykonawcze systemu Windows używany przez inne aplikacje lub języki.
- Dystrybuuj bibliotekę jako pakiet NuGet, który opakowuje interfejsy API WinRT.
- Współdziałanie z interfejsami COM lub ABI niskiego poziomu z kodu języka C++.
- Rozwiązywanie problemów z błędami kompilacji związanymi z wygenerowanymi kodami międzyoperanymi lub plikami WinMD.
W przypadku codziennego tworzenia aplikacji poniżej znajdują się szczegółowe informacje — przydatne, jeśli jesteś ciekawy, ale nie jest to wymagane, aby rozpocząć pracę.
Projekcje językowe
interfejsy API środowisko wykonawcze systemu Windows są definiowane w sposób neutralny dla języka przy użyciu plików Windows Metadata (.winmd). Projekcja języka odczytuje te metadane i generuje powiązania idiomatyczne, dzięki czemu można naturalnie wywoływać interfejsy API z języka C++ lub C#.
| Projection | Język | Co to jest | Wzorzec przestrzeni nazw |
|---|---|---|---|
| C++/WinRT | C++17 | Biblioteka tylko do nagłówka, która zapewnia dostęp pierwszej klasy do interfejsów API WinRT. Zastępuje język C++/CX i bibliotekę szablonów języka C++ środowisko wykonawcze systemu Windows (WRL). | winrt::Microsoft::UI::Xaml |
| C#/WinRT | C# (.NET) | Zestaw narzędzi NuGet, który generuje zestawy międzyoperacyjne .NET z .winmd plików. Umożliwia korzystanie ze składników WinRT i tworzenie ich z poziomu języka C#. |
Microsoft.UI.Xaml |
Struktura interfejsu użytkownika
| Framework | Co to jest | Namespace |
|---|---|---|
| XAML (WinUI 3) | Deklaratywny język znaczników oparty na języku XML dla interfejsów użytkownika WinUI 3. Obsługuje układ, styl, powiązanie danych i animacje. Kod jest napisany w języku C# lub C++. |
Microsoft.UI.Xaml (nie Windows.UI.Xaml, który jest platformą UWP) |
Important
Interfejs WinUI 3 XAML używa Microsoft.UI.Xaml przestrzeni nazw. Jeśli widzisz kod lub dokumentację odwołującą Windows.UI.Xamlsię do elementu , to jest kod XAML platformy UWP, który jest inną strukturą. Nie mieszaj dwóch przestrzeni nazw w projekcie WinUI 3.
Następne kroki
Wybierz obszar pasujący do tego, czego chcesz się nauczyć: