代码之家  ›  专栏  ›  技术社区  ›  ITGuru

从C向XAML发送文本

  •  -2
  • ITGuru  · 技术社区  · 6 年前

    我知道我可以使用xaml中的x:name注释将信息发送到我的c类,但是我想知道是否有这样简单的事情,反过来呢?

    比如说,如果我的C代码中有一个字符串,我只想在视图中显示,比如在标签框中,这是否也很简单?

    2 回复  |  直到 6 年前
        1
  •  3
  •   Jason    6 年前

    对。这是基本的数据绑定

    xaml:

    <Label Text="{Binding MyTextProperty"} />
    

    代码隐藏

    public string MyTextProperty { get; set; }
    
    this.BindingContext = this;
    
        2
  •  1
  •   Andre Motta    6 年前

    请参考这个关于数据绑定的github示例:

    https://github.com/xamarin/xamarin-forms-samples/tree/master/DataBindingDemos

    基本上,您可以将任何xaml元素的任何属性绑定到另一个c类属性。 通常这是按照mvvm模型完成的。所以我建议你读一下。

    绑定使得如果用户交互更改了xaml上的属性,只要该属性是一个可观察的集合项,它就会反映到c属性上,反之亦然。

    例如,如果你有一个班级

    class Foo : ObservableCollection{
        string a {get; set;}
    }
    

    然后执行以下步骤,将xaml正确绑定到github中描述的类和下面的文档: https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/data-binding/

    您可以在xaml文件中执行以下操作:

    <Label Text = "{Binding a}" />
    

    有绑定模式,因此您可以定义属性更改将如何交互,单向或双向。