【问题标题】:Can you define a Thickness static resource in UWP XAML that references another static resource (double) for one of its values?您能否在 UWP XAML 中定义一个厚度静态资源,该资源引用另一个静态资源(双精度)作为其值之一?
【发布时间】:2018-08-14 02:14:12
【问题描述】:

我想定义一个双精度值,它始终是两个不同的厚度值中的左边距值,这两个值都将在多个地方使用。例如:

<x:Double x:Key="BreadcrumbElementLeftMargin">23</x:Double>

<Thickness x:Key="BreadcrumbTextElementMargin">(reference value 23 above),20,0,0</Thickness>
<Thickness x:Key="BreadcrumbImageElementMargin">(reference value 23 above),40,0,0</Thickness>

有没有办法做到这一点?

【问题讨论】:

    标签: xaml uwp uwp-xaml


    【解决方案1】:

    不,这在 UWP 中是不可能的,因为在 UWP 中,Thickness 没有默认构造函数,因此无法单独设置 Left、Top、Right 和 Bottom 属性。

    旁注: 在 WPF 中可以这样做:

    <x:Double x:Key="BreadcrumbElementLeftMargin">23</x:Double>
    
    <Thickness x:Key="BreadcrumbTextElementMargin"
               Bottom="0"
               Left="{StaticResource BreadcrumbElementLeftMargin}"
               Right="0"
               Top="20" />
    
    <Thickness x:Key="BreadcrumbImageElementMargin"
               Bottom="0"
               Left="{StaticResource BreadcrumbElementLeftMargin}"
               Right="0"
               Top="40" />
    

    【讨论】:

    • 我刚试过这个并得到这个错误:XamlCompiler 错误 WMC0100:无法构造 XAML 厚度类型。为了在 XAML 中构造,类型不能是抽象、接口、嵌套、泛型或结构,并且必须具有公共默认构造函数。这表明在 UWP 中无法做到这一点? stackoverflow.com/questions/35149204/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    • 2021-04-01
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多