【问题标题】:XAML reuse specific UI elementsXAML 重用特定的 UI 元素
【发布时间】:2019-03-18 13:59:18
【问题描述】:

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

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

由于我多次使用它,我希望能够将代码编写一次,然后重复使用该代码 - 就像一个具有其实例 (DRY) 的类一样。很可能我是一个盲人,无法找到它是如何完成的。那么,如何重用 XAML 元素呢?

【问题讨论】:

    标签: xaml code-reuse


    【解决方案1】:

    您可以使用 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>
    

    【讨论】:

    • 这确实有效。 StyleClass 不起作用,因为我无法让 Width 属性正常工作。感谢您的帮助,已将其标记为答案。
    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-12-03
    • 2022-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2019-09-03
    相关资源
    最近更新 更多