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:Byte
i 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
, -Infinity
i 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
, -Infinity
i 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.
.NET Desktop feedback