2

假设我们有一个 CustomView,里面有 Entry(或任何其他视图):

public class CustomView : ContentView
{
    public CustomView()
    {
        var entry = new Entry();
        Content = entry;
    }
}

如何公开条目的 Text 属性以使视图的 Text 属性可绑定?所以 view 的 Text 属性应该是双向绑定的,并且应该和 entry 的 Text 属性同步。

4

1 回答 1

0

您可以创建自己的 BindableProperties。在这种情况下,由于它是一个条目,因此请确保默认绑定模式为 2-way。然后你可以将Entry的BindingContext设置为当前对象,并将ContentView.Text绑定到Entry.TextProperty。

public class CustomView : ContentView
{
    public CustomView ()
    {
        var entry = new Entry ();
        entry.SetBinding (Entry.TextProperty, "Text");
        entry.BindingContext = this;
    }

    public static readonly BindableProperty TextProperty =
            BindableProperty.Create ("Text", typeof(string), typeof(CustomView), default(string), BindingMode.TwoWay);

    public string Text {
        get { return (string)GetValue (TextProperty); }
        set { SetValue (TextProperty, value); } 
    }
}
于 2014-07-16T14:14:51.990 回答