2017-07-10 6 views
1

私がやっていることは単純だと思われるかもしれませんが、私は今まで運のない1時間ほどを探していました。XamarフォームXAML OnPlatform VerticalOptions

私は、次のXAML

<StackLayout Grid.Row="2" Margin="20,20,20,20"> 
    <StackLayout.VerticalOptions> 
     <OnPlatform x:TypeArguments="x:String"> 
      <On Platform="Android" Value="CenterAndExpand" /> 
      <On Platform="iOS" Value="EndAndExpand" /> 
     </OnPlatform> 
    </StackLayout.VerticalOptions> 
</StackLayout> 

を持っている。しかし、それは言って、エラーを与えている:

Cannot assign property VerticalOptions, property does not exists, or is not assignable, or mismatching type between value and property 

私は成功したが、タイプxの他の特性のために同じことを行っている:、ブールは、x:ダブルをし、厚さ...好奇心のために、利用可能なすべてのx:TypeArgumentsを概説していますが、まだ運がないドキュメントもいくつか見つけようとしています。あなたは値がしかし、それはLayoutOptionsタイプだ文字列であることを言っている

<OnPlatform x:TypeArguments="x:String"> 

答えて

4

あなたの問題は、この行です。したがって、この変更、それが動作します:では

<StackLayout Margin="20,20,20,20"> 
    <StackLayout.VerticalOptions> 
     <OnPlatform x:TypeArguments="LayoutOptions"> 
      <On Platform="Android" Value="CenterAndExpand" /> 
      <On Platform="iOS" Value="EndAndExpand" /> 
     </OnPlatform> 
    </StackLayout.VerticalOptions> 
</StackLayout> 

Xamarin documentationあなたはVerticalOptionLayoutOptionであることがわかります。

構文

公共LayoutOptionsのVerticalOptions {取得します。セット; }

要素をレイアウトする方法を定義するLayoutOptions。特に指定しない限り、デフォルト値はLayoutOptions.Fillです。

私はこれがあなたを助けることを望みます。

+1

ありがとう。私が書いた各XAML型の引数には常にこの混乱がありましたが、はるかに簡単にできました –

関連する問題