首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个类上面的“[Xamarin.Forms.ContentProperty(”Contents“)]到底在做什么?

一个类上面的“[Xamarin.Forms.ContentProperty(”Contents“)]到底在做什么?
EN

Stack Overflow用户
提问于 2020-12-22 13:52:17
回答 1查看 72关注 0票数 1

我理解这段代码是如何工作的,但是有人能解释一下第一行是做什么的吗?这是不是翻译成了一些C#代码。如果我想手动编写代码,我该怎么做呢?

代码语言:javascript
复制
[Xamarin.Forms.ContentProperty("Contents")]
class PopupFrame : Frame
{
    StackLayout contentStack { get; } = new StackLayout();

    public IList<View> Contents { get => contentStack.Children; }


    public PopupFrame()
    {
        Content = contentStack;

        HasShadow = true;
        HorizontalOptions = LayoutOptions.FillAndExpand;
        Padding = 0;
        VerticalOptions = LayoutOptions.Center;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-22 16:33:35

这个属性告诉XAML处理器,if基本上应该使用FrameContent属性作为默认值。

代码语言:javascript
复制
<ContentView>
    <Label Text="Hello, Forms"/>
</ContentView>

而不是

代码语言:javascript
复制
<ContentView>
    <ContentView.Content>
       <Label Text="Hello, Forms"/>
    </ContentView.Content>
</ContentView>

取自Docs page的示例。

关于你的问题“我如何用C#写这篇文章?”这是XAML特有的东西,只不过是语法上的糖而已。在C#中,只需给Content属性赋值即可。即:

代码语言:javascript
复制
var frame = new Frame();

Frame.Content = new Label() { Text = "Hello, Forms" };
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65403844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档