残念ながら、Xamain.formsのBoxViewはWPの同名のものと異なります。
RelativeLayoutは少し複雑ですが柔軟性があります。アプリが異なるサイズの画面で実行されるとき、コントロールはあなたの制約に従ってそれらに適応します。
例えば:
<RelativeLayout>
<Image BackgroundColor="Red" Source="Icon-76.png" Aspect="Fill" x:Name="redBox"
RelativeLayout.XConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Width,
Factor=0.05,
Constant=0}"
RelativeLayout.YConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Y,
Factor=1,
Constant=20}"
RelativeLayout.WidthConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Width,
Factor=.6,
Constant=0}"
RelativeLayout.HeightConstraint="{ConstraintExpression
Type=RelativeToParent,
Property=Height,
Factor=.6,
Constant=0}" />
</RelativeLayout>
RelativeLayout.XConstraintとRelativeLayout.YConstraintあなたのコントロールのY座標、Xを見つけます。
RelativeLayout.WidthConstraintとRelativeLayout.HeightConstraintコントロールと幅/高さの制約を追加するために使用されます。
例では、この画像の(x、y)は、親に対して相対的な((親の幅の5%),20)です。幅や高さは親の60%です。
RelativeLayout.XConstraint="{ConstraintExpression
Type=RelativeToView,
ElementName=redBox,
Property=Width,
Factor=1,
Constant=0}"
ConstraintExpression:: - 制約があるかどうかを
タイプもちろん、あなたがこのようなタイプとのElementNameを介して他のビューへの相対値でそれを設定することができます親または別のビューに対して相対的に表示されます。
プロパティ - 制約の基準として使用するプロパティ。
ファクタ - プロパティ値に適用するファクタ。
定数 - 値のオフセットとして使用する値。
要素名 - 制約が関連するビューの名前です。
そして、あなたはあなたのイメージのための適切な表示を見つけるために、Aspectを設定することができます。
<Image Source="Icon-76.png" Aspect="Fill"/>
AspectFillスケールビューを満たす画像。一部の部分は、ビューを埋めるためにクリップされることがあります。
AspectFitビューに合わせて画像を拡大/縮小します。一部の部分は空白のままです(レターボクシング)。
塗りつぶし画像が拡大表示されるように拡大縮小します。
私の知る限り、iOSやAndroidのビューボックスの動作を模倣した既存のコントロールはありません。 iOSは、親コンテナ内のコントロールを整理するためにユニバーサル制約のシステムを使用します。同様の原理がアンドロイドにも存在します。 – Digitalsa1nt
グリッドを試してみてください。比率を維持します。 1つのキャッチがあります。割り当てられた高さを正しくスケーリングしません。私の答えを参照して、私は別の答えでそれを解決しました –
こんにちは、私はあなたの別の答えを知っているかもしれませんか?私はここで何も見つかりませんでした。 – Praddy