Xamarin在StaticResource中形成填充

时间:2017-04-01 13:55:21

标签: xamarin xamarin.forms

我想在sytacklayout中使用特定的Padding构建几个页面。我不想在每一页都写它。考虑到我将来是否想改变它,它的设计并不好。有没有办法在静态资源中定义填充?这样我就可以在一个地方App.xml定义它并在其他页面中使用它。

我试过了

<ContentPage.Resources>
    <ResourceDictionary>
        <x:String x:Key="padding">45, 0, 45, 0</x:String>
    </ResourceDictionary>
</ContentPage.Resources>
<StackLayout Padding="{StaticResource padding}">
    <Label Text="{StaticResource padding}"/>
</StackLayout>

2 个答案:

答案 0 :(得分:3)

如上所述,您应该使用Thickness。此外,要在应用程序级别设置资源,请将其放在App.xaml文件中:

<Application ...>
 <Application.Resources>
        <ResourceDictionary>
            <Thickness x:Key="padding">45,0, 45, 0</Thickness>
            // some others resources...
        </ResourceDictionary>
    </Application.Resources>
</Application>

然后从不同的页面调用它:

<ContentPage>
    <StackLayout Padding="{StaticResource padding}">
        <Label Text="{StaticResource padding}"/>
    </StackLayout>
    ...

link to documentation

希望它有所帮助!

答案 1 :(得分:1)

只需使用.代替Thickness

string