iOS上のボタン、ラベル、グリッドセルを非表示にしてアンドロイドに表示する方法、xamarin.formsアプリ(ポータブル)があります。プラットフォーム上で使用する必要がありますが、コントロールの可視性にアクセスする方法はありません。XamarinフォームiOSのボタンを非表示にしてAndroidで表示
おかげ
iOS上のボタン、ラベル、グリッドセルを非表示にしてアンドロイドに表示する方法、xamarin.formsアプリ(ポータブル)があります。プラットフォーム上で使用する必要がありますが、コントロールの可視性にアクセスする方法はありません。XamarinフォームiOSのボタンを非表示にしてAndroidで表示
おかげ
// IOS, Android, WP
SomeButton.IsVisible = Device.OnPlatform<bool>(false, true, true);
それとも
if (Device.OS == TargetPlatform.Android)
{
SomeButton.IsVisible = true;
}
else
...
あなたはXAMLでそれをしたい場合は、特定のプラットフォーム上のビューを隠すために、あなたがこれを使用することができます:
<Button>
<Button.IsVisible>
<OnPlatform x:TypeArguments="x:Boolean"
iOS="false"
Android="true"/>
</Button.IsVisible>
</Button>
はそれが役に立てば幸い!
mindOfAiは、あなたがこのようにXAMLでこれを行うことができます述べたように:あなたはDevice.OnPlatformを使用するかDevice.OSプロパティを確認することができますコードで
<Button>
<Button.IsVisible>
<OnPlatform x:TypeArguments="x:Boolean"
iOS="false"
Android="true"/>
</Button.IsVisible>
</Button>
。以下のようになります
:
// ... Other code here
Device.OnPlatform(iOS:() => { myButton.IsVisible = false; });
// Or do this:
if (Device.OS == TargetPlatform.iOS)
myButton.IsVisible = false;
// ... Other code here
これらの答えのすべては、あなたが実際にそれを必要とするか否かのコントロールを作成し、あなたがそれを望んでいないプラットフォームではfalseにのisVisibleを設定関与しているようです。より良い解決策IMOは、あなたが実際にそれを必要とする場合、最初にコントロールを作成するだけです。最初の手順はコンテンツビューでラップすることです:
<ContentView>
<OnPlatform x:TypeArguments="View">
<OnPlatform.Android>
<Button Text="Something" ...etc... />
</OnPlatform.Android>
</OnPlatform>
</ContentView>
それでも問題はありませんが、それでも余分なContentViewが作成されます。さらに一歩進んで、OnPlatformを使用してControlTemplateを宣言すれば、すべてのプラットフォームで最適な実装が実現します。
こんにちは@Mireille、私の答えをチェックしてください、それはあなたを助けるはずです:)もしそうなら、それは他人を助けるように答えとしてタグを付けてください! :) – mindOfAi