【问题标题】:How to pass a view as constructor argument in XAML如何在 XAML 中将视图作为构造函数参数传递
【发布时间】:2019-03-29 07:39:42
【问题描述】:

我有一个自定义视图,它以格式化的方式显示一些内部内容,并希望将 XAML 中的内容提供给它。 The Docs 解释如何使用基本类型,而不是如何传递一个 View:

参数可以使用 x:参数属性。每个构造函数参数都必须分隔 在表示参数类型的 XML 元素中。 Xamarin.Forms 支持基本类型的以下元素:

x:对象
x:布尔值
x:字节
x:Int16
x:Int32
x:Int64
x:单
x:双 x:十进制
x:字符
x:字符串
x:时间跨度
x:数组
x:日期时间

This QA 解释说使用x:Object 不是可行的方法。

那么如何从 XAML 将 View as Constructor 参数传递给我的自定义视图?

【问题讨论】:

    标签: c# xaml xamarin xamarin.forms


    【解决方案1】:

    显然,文档中的列表并不广泛。 如果您的自定义 View 带有类似的构造函数

    public CustomView(View Icon) : this()
    {
        SetInnerContent(Icon);
    }
    

    可以像这样从 xaml 传递视图:

    <CustomView>
        <x:Arguments>
            <Image Source="somepath"/>
        </x:Arguments>
    </CustomView>
    

    无需依赖任何列出的x:something 选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 2011-06-28
      相关资源
      最近更新 更多