XAML重用特定的UI元素

时间:2019-03-18 13:59:19

标签: xaml code-reuse

使用Xamarin时,我有一个小的UI元素用作内容分隔符:

<BoxView StyleClass="contentDivider"
   HeightRequest="2"
   WidthRequest="1000"
   Margin="3, 0"/>

由于我多次使用它,所以我希望能够一次写下代码,然后重新使用该代码-就像带有其实例(DRY)的类一样。我很可能是盲人蝙蝠,无法找到它的完成方式。那么,如何重用XAML元素?

1 个答案:

答案 0 :(得分:0)

您可以使用 ContentViews https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/controls/layouts#contentview)进行此操作,这对于较大的重用情况(在ContentView中使用更多XAML)可能更有效。

但是,对于像您这样的小单元素示例,您真的可以考虑使用全局样式(https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/styles/xaml/application),只要您仅使用它,它看起来就已经具有StyleClass =“ contentDivider”想覆盖单个元素(例如BoxView)上的属性。

只需将HeightRequest,WidthRequest和Margin添加到样式和完成的操作中即可。

<Style x:Key="contentDivider" TargetType="BoxView">
    <Setter Property="HeightRequest" Value="20" />
    <Setter Property="WidthRequest" Value="20" />
    <Setter Property="Margin" Value="0,99,0,0" />
    ... etc
</Style>