Udostępnij za pośrednictwem


Wbudowane typy dla typowych typów pierwotnych języka XAML

Język XAML 2009 wprowadza obsługę na poziomie języka XAML dla kilku typów danych, które są często używane w środowisku uruchomieniowym języka wspólnego (CLR) i w innych językach programowania. Język XAML 2009 dodaje obsługę tych elementów pierwotnych: x:Object, x:Boolean, x:Char, x:String, x:Decimal, x:Single, x:Double, x:Int16, x:Int32, x:Int64, x:TimeSpan, x:Uri, x:Bytei x:Array

Poprzednie techniki dla języków pierwotnych w adiustacji XAML

W języku XAML dla poprzednich wersji WPF można odwoływać się do elementów pierwotnych języka CLR, mapując zestaw i przestrzeń nazw, która zawierała klasę definicji pierwotnej CLR dla programu .NET Framework. Większość z nich należy do zestawu mscorlib i System przestrzeni nazw. Aby na przykład użyć Int32, można zadeklarować następujące mapowanie (z przykładowym użyciem pokazanym później):

<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
  <Application.Resources>
    <sys:Int32 x:Key="intMeaning">42</sys:Int32>
  </Application.Resources>
</Application>

XAML 2009 Language Primitives

Zgodnie z konwencją wyświetlane są typy pierwotne języka XAML i wszystkie inne elementy języka XAML, w tym prefiks x:. W ten sposób elementy języka XAML są zwykle używane w rzeczywistych znacznikach. Ta konwencja jest przestrzegana w dokumentacji koncepcyjnej dla języka XAML w WPF, a także w specyfikacji XAML.

x:Object

W przypadku tworzenia kopii zapasowej środowiska CLR x:Object element pierwotny odpowiada Object.

Ten typ pierwotny nie jest zwykle używany w adiustacji aplikacji, ale może być przydatny w niektórych scenariuszach, takich jak sprawdzanie możliwości przypisywania w systemie typów XAML.

x:Wartość logiczna

W przypadku tworzenia kopii zapasowej środowiska CLR x:Boolean element pierwotny odpowiada Boolean.

Kod XAML analizuje wartości dla x:Boolean jako bez uwzględniania wielkości liter. Należy pamiętać, że x:Bool nie jest akceptowaną alternatywą. Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.17 i 7.4.11.

x:Char

W przypadku tworzenia kopii zapasowej środowiska CLR x:Char element pierwotny odpowiada Char.

Typy ciągów i znaków mają interakcję z ogólnym kodowaniem pliku na poziomie XML. Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.7 i 7.4.1.

x:String

W przypadku tworzenia kopii zapasowej środowiska CLR x:String element pierwotny odpowiada String.

Typy ciągów i znaków mają interakcję z ogólnym kodowaniem pliku na poziomie XML. Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.6.

x:Dziesiętne

W przypadku tworzenia kopii zapasowej środowiska CLR x:Decimal element pierwotny odpowiada Decimal.

Analizowanie kodu XAML jest z natury wykonywane w en-US kulturze. W en-US kultury prawidłowy separator składników dziesiętnych jest zawsze kropką (.), niezależnie od ustawień kultury środowiska deweloperskiego lub docelowego klienta ostatecznego, w którym kod XAML jest ładowany w czasie wykonywania.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.14 i 7.4.8.

x:Single

W przypadku tworzenia kopii zapasowej środowiska CLR x:Single element pierwotny odpowiada Single.

Oprócz wartości liczbowych składnia tekstu dla x:Single zezwala również na tokeny Infinity, -Infinityi NaN. Te tokeny są traktowane jako wrażliwe na wielkość liter.

x:Single może obsługiwać wartości w postaci notacji naukowej, jeśli pierwszy znak składni tekstu jest e lub E.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.8 i 7.4.2.

x:Double

W przypadku tworzenia kopii zapasowej środowiska CLR x:Double element pierwotny odpowiada Double.

Oprócz wartości liczbowych składnia tekstu x:Double zezwala na tokeny Infinity, -Infinityi NaN. Te tokeny są traktowane jako wrażliwe na wielkość liter.

x:Double mogą obsługiwać wartości w formie notacji naukowej. Użyj e znaku lub E, aby wprowadzić część wykładniczą.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.9 i 7.4.3.

x:Int16

W przypadku tworzenia kopii zapasowej środowiska CLR x:Int16 pierwotny odpowiada Int16 i x:Int16 jest traktowany jako podpisany. W języku XAML brak znaku plus (+) składnia tekstu logowania jest implikowana jako dodatnia wartość ze znakiem.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.11 i 7.4.5.

x:Int32

W przypadku tworzenia kopii zapasowej środowiska CLR x:Int32 element pierwotny odpowiada Int32. x:Int32 jest traktowany jako podpisany. W języku XAML brak znaku plus (+) składnia tekstu logowania jest implikowana jako dodatnia wartość ze znakiem.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.12 i 7.4.6.

x:Int64

W przypadku tworzenia kopii zapasowej środowiska CLR x:Int64 element pierwotny odpowiada Int64. x:Int64 jest traktowany jako podpisany. W języku XAML brak znaku plus (+) składnia tekstu logowania jest implikowana jako dodatnia wartość ze znakiem.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.13 i 7.4.7.

x:TimeSpan

W przypadku tworzenia kopii zapasowej środowiska CLR x:TimeSpan element pierwotny odpowiada TimeSpan.

Analizowanie kodu XAML dla formatu daty godziny jest z natury wykonywane w en-US kulturze.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.16 i 7.4.10.

x:Uri

W przypadku tworzenia kopii zapasowej środowiska CLR x:Uri element pierwotny odpowiada Uri.

Sprawdzanie protokołów nie jest częścią definicji XAML dla x:Uri.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.15 i 7.4.9.

x:Byte

W przypadku tworzenia kopii zapasowej środowiska CLR x:Byte element pierwotny odpowiada Byte. Byte / x:Byte jest traktowana jako niepodpisane.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.10 i 7.4.4.

x:Array

W przypadku tworzenia kopii zapasowej środowiska CLR x:Array element pierwotny odpowiada Array.

Tablicę można zdefiniować w języku XAML 2006 przy użyciu składni rozszerzenia znaczników; Jednak składnia XAML 2009 jest zdefiniowanym językiem pierwotnym, który nie wymaga dostępu do rozszerzenia znaczników. Aby uzyskać więcej informacji na temat obsługi języka XAML 2006, zobacz x:Array Markup Extension.

Aby uzyskać definicję specyfikacji języka XAML, zobacz [MS-XAML] Sekcje 7.2.18.

Obsługa platformy WPF

W WPF można używać funkcji XAML 2009, ale tylko dla języka XAML, który nie jest skompilowany. Kod XAML skompilowany w języku XAML dla platformy WPF i formularza BAML języka XAML nie obsługuje obecnie słów kluczowych i funkcji XAML 2009.

Scenariusz, w którym można używać funkcji XAML 2009 razem z WPF, jest utworzenie luźnego kodu XAML, a następnie załadowanie tego kodu XAML do środowiska uruchomieniowego I grafu obiektów WPF z XamlReader.Load. System.Windows.Markup.XamlReader WPF i jego Load mogą przetwarzać słowa kluczowe i funkcje języka XAML 2009 w prawidłowej reprezentacji grafu obiektów.