Bağımsız değişkenleri geçirme

Genellikle bağımsız değişken gerektiren oluşturucularla veya statik oluşturma yöntemini çağırarak nesneleri örneklemek gerekir. Bu, ve x:FactoryMethod öznitelikleri kullanılarak .NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) XAML'sinde x:Arguments elde edilebilir:

  • x:Arguments özniteliği, varsayılan olmayan bir oluşturucu veya fabrika yöntemi nesne bildirimi için oluşturucu bağımsız değişkenlerini belirtmek için kullanılır. Daha fazla bilgi için bkz . Oluşturucu bağımsız değişkenlerini geçirme.
  • x:FactoryMethod özniteliği, bir nesneyi başlatmak için kullanılabilecek bir fabrika yöntemi belirtmek için kullanılır. Daha fazla bilgi için bkz . Fabrika yöntemlerini çağırma.

Ayrıca, özniteliği genel x:TypeArguments tür oluşturucusunun genel tür bağımsız değişkenlerini belirtmek için kullanılabilir. Daha fazla bilgi için bkz . Genel tür bağımsız değişkeni belirtme.

Bağımsız değişkenler, aşağıdaki .NET MAUI XAML dil temel değerleri kullanılarak oluşturuculara ve fabrika yöntemlerine geçirilebilir:

  • x:Array, öğesine karşılık gelir Array.
  • x:Boolean, öğesine karşılık gelir Boolean.
  • x:Byte, öğesine karşılık gelir Byte.
  • x:Char, öğesine karşılık gelir Char.
  • x:DateTime, öğesine karşılık gelir DateTime.
  • x:Decimal, öğesine karşılık gelir Decimal.
  • x:Double, öğesine karşılık gelir Double.
  • x:Int16, öğesine karşılık gelir Int16.
  • x:Int32, öğesine karşılık gelir Int32.
  • x:Int64, öğesine karşılık gelir Int64.
  • x:Object, öğesine karşılık gelir Object.
  • x:Single, öğesine karşılık gelir Single.
  • x:String, öğesine karşılık gelir String.
  • x:TimeSpan, öğesine karşılık gelir TimeSpan.

dışında x:DateTime, diğer dil temelleri XAML 2009 belirtimindedir.

Dekont

Dil x:Single temel öğe bağımsız değişkenlerini geçirmek float için kullanılabilir.

Oluşturucu bağımsız değişkenlerini geçirme

Bağımsız değişkenler, özniteliği kullanılarak varsayılan olmayan bir oluşturucuya x:Arguments geçirilebilir. Her oluşturucu bağımsız değişkeni, bağımsız değişkenin türünü temsil eden bir XML öğesi içinde sınırlandırılmalıdır.

Aşağıdaki örnekte özniteliğinin x:Arguments üç farklı Color oluşturucuyla kullanılması gösterilmektedir:

<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
    <BoxView.Color>
        <Color>
            <x:Arguments>
                <x:Single>0.9</x:Single>
            </x:Arguments>
        </Color>
    </BoxView.Color>
</BoxView>
<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
    <BoxView.Color>
        <Color>
            <x:Arguments>
                <x:Single>0.25</x:Single>
                <x:Single>0.5</x:Single>
                <x:Single>0.75</x:Single>
            </x:Arguments>
        </Color>
    </BoxView.Color>
</BoxView>
<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
    <BoxView.Color>
        <Color>
            <x:Arguments>
                <x:Single>0.8</x:Single>
                <x:Single>0.5</x:Single>
                <x:Single>0.2</x:Single>
                <x:Single>0.5</x:Single>
            </x:Arguments>
        </Color>
    </BoxView.Color>
</BoxView>

Etiketindeki x:Arguments öğelerin sayısı ve bu öğelerin türleri oluşturuculardan Color biriyle eşleşmelidir. Tek Color parametreli oluşturucu, 0 (siyah) ile 1 (beyaz) arasında gri tonlama float değeri gerektirir. Üç Color parametreye sahip oluşturucu, 0 ile 1 arasında değişen kırmızı, yeşil ve mavi değerler gerektirir float . Color Dört parametreli oluşturucu, dördüncü parametre olarak bir float alfa kanalı ekler.

Fabrika yöntemlerini çağırma

Fabrika yöntemleri ,NET MAUI XAML'de özniteliğini kullanarak yöntemin adını ve özniteliğini kullanarak x:FactoryMethodx:Arguments bağımsız değişkenlerini belirterek çağrılabilir. Fabrika yöntemi, yöntemleri tanımlayan sınıf veya yapıyla aynı türdeki nesneleri veya değerleri döndüren bir public static yöntemdir.

Color sınıfı bir dizi fabrika yöntemini tanımlar ve aşağıdaki örnekte bunlardan üçünün çağrılması gösterilmektedir:

<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
  <BoxView.Color>
    <Color x:FactoryMethod="FromRgba">
      <x:Arguments>
        <x:Byte>192</x:Byte>
        <x:Byte>75</x:Byte>
        <x:Byte>150</x:Byte>
        <x:Byte>128</x:Byte>
      </x:Arguments>
    </Color>
  </BoxView.Color>
</BoxView>
<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
  <BoxView.Color>
    <Color x:FactoryMethod="FromHsla">
      <x:Arguments>
        <x:Double>0.23</x:Double>
        <x:Double>0.42</x:Double>
        <x:Double>0.69</x:Double>
        <x:Double>0.7</x:Double>
      </x:Arguments>
    </Color>
  </BoxView.Color>
</BoxView>
<BoxView HeightRequest="150"
         WidthRequest="150"
         HorizontalOptions="Center">
  <BoxView.Color>
    <Color x:FactoryMethod="FromHex">
      <x:Arguments>
        <x:String>#FF048B9A</x:String>
      </x:Arguments>
    </Color>
  </BoxView.Color>
</BoxView>

Etiketindeki x:Arguments öğelerin sayısı ve bu öğelerin türleri, çağrılan fabrika yönteminin bağımsız değişkenleriyle eşleşmelidir. FromRgba Fabrika yöntemi, sırasıyla 0 ile 255 arasında değişen kırmızı, yeşil, mavi ve alfa değerlerini temsil eden dört byte bağımsız değişken gerektirir. FromHsla Fabrika yöntemi, sırasıyla 0 ile 1 arasında ton, doygunluk, parlaklık ve alfa değerlerini temsil eden dört float bağımsız değişken gerektirir. FromHex Fabrika yöntemi, onaltılık (A)RGB rengini temsil eden bir string bağımsız değişken gerektirir.

Genel tür bağımsız değişkeni belirtme

Bir genel türün oluşturucusunun genel tür bağımsız değişkenleri, aşağıdaki örnekte gösterildiği gibi özniteliği kullanılarak x:TypeArguments belirtilebilir:

<StackLayout>
    <StackLayout.Margin>
        <OnPlatform x:TypeArguments="Thickness">
          <On Platform="iOS" Value="0,20,0,0" />
          <On Platform="Android" Value="5, 10" />
        </OnPlatform>
    </StackLayout.Margin>
</StackLayout>

OnPlatform sınıfı genel bir sınıftır ve hedef türle eşleşen bir x:TypeArguments öznitelikle örneklenmelidir. On sınıfında özniteliği tek Platformstring bir değeri veya birden çok virgülle ayrılmış string değeri kabul edebilir. Bu örnekte özelliği platforma StackLayout.Margin özgü Thicknessolarak ayarlanmıştır.

Genel tür bağımsız değişkenleri hakkında daha fazla bilgi için bkz . XAML'de genel değişkenler.