XAML重用特定的UI元素

问题描述 投票:1回答:1

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

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

因为我多次使用它,所以我希望能够将代码写下来一次,并重用该代码 - 就像具有其实例(DRY)的类一样。我很可能是一个盲人蝙蝠,而且无法找到它是如何完成的。那么,我如何重用XAML元素呢?

xaml code-reuse
1个回答
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>
© www.soinside.com 2019 - 2024. All rights reserved.