私のアプリケーションの左余白と右余白には2つの異なる値があります。 (27と64としましょう)xamarinフォームはResourceDictionaryから値を取得します
これらの値をResourcesDictionatyから取得し、それらを私のXAMLに設定することは可能ですか?例
<StackLayout Margin="{Left1},0,{Right1},0">
</StackLayout>
私のアプリケーションの左余白と右余白には2つの異なる値があります。 (27と64としましょう)xamarinフォームはResourceDictionaryから値を取得します
これらの値をResourcesDictionatyから取得し、それらを私のXAMLに設定することは可能ですか?例
<StackLayout Margin="{Left1},0,{Right1},0">
</StackLayout>
あなたはResourceDictionary
にdouble値としてそれらを指定し、他のリソース/スタイルでまたはエレメントレベル自体でそれらを参照することができます。
サンプルリソース・ディクショナリ
<ResourceDictionary>
<!-- namespace declaration
xmlns:sys="clr-namespace:System;assembly=System.Runtime" -->
<sys:Double x:Key="leftMargin">20</sys:Double>
<sys:Double x:Key="rightMargin">30</sys:Double>
<Thickness x:Key="MyMargin1"
Left="{StaticResource leftMargin}"
Right="{StaticResource rightMargin}"
Top="20"
Bottom="30" />
<Thickness x:Key="MyMargin2"
Left="{StaticResource leftMargin}"
Right="{StaticResource rightMargin}"
Top="5"
Bottom="15" />
</ResourceDictionary>
使用例も上マージンと下マージンを設定します
<StackLayout>
<BoxView BackgroundColor="Blue" Margin="{StaticResource MyMargin1}" />
<BoxView HeightRequest="1" BackgroundColor="Black" />
<BoxView BackgroundColor="Red" Margin="{StaticResource MyMargin2}" />
<BoxView HeightRequest="1" BackgroundColor="Black" />
<BoxView BackgroundColor="Yellow">
<BoxView.Margin>
<Thickness
Left="{StaticResource leftMargin}"
Right="{StaticResource rightMargin}"
Top="30"
Bottom="10" />
</BoxView.Margin>
</BoxView>
<BoxView HeightRequest="1" BackgroundColor="Black" />
</StackLayout>
私は個々の値のため、これが動作することはないと思うのために
。次のようにして、しかし、リソースディクショナリの値に全体Margin
をバインドすることができます。
<ResourceDictionary>
<Thickness x:Key="MyMargin">27,0,64,0</Thickness>
</ResourceDictionary>
<StackLayout Margin="{StaticResource MyMargin}">
</StackLayout>
!私はそれを望んでいない! – Dimitris
それからそれらを0に設定してください。それはあなたが探しているものを達成すべきですか? –
私はあなたが私が求めていることを理解したとは思わない。私は私のページに10個のコントロール(例えば)を持っています。最初のマージンは20,1,2,4、2番目のマージンは20,12,20,5、3番目のマージンはすべて同じマージンですが、上下のマージンは同じではありません。同じことがアプリケーションのすべてのページに起こります。あなたのソリューションは、すべてのために左下、右下に修正されています。私はそれを望んでいません。 – Dimitris
これは完璧です!ありがとう – Dimitris