XAML 如何在MAUI中绑定嵌套属性

gev0vcfq  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(158)

我有一个简单的属性,我已经通过AddSingleton()依赖注入到我的应用程序中,但当我从XAML绑定到它时-它不会更新。我用一个简单的字符串测试了它,字符串属性绑定得很好,并更新。
我的ViewModel看起来像这样:

[ObservableProperty]
public Url test;
    
public string testurl;

我的班级:

public class Url
{
    public string Urltitle { get; set; }
    public string Location { get; set; }
    public string Url { get; set; }
}

我的XAML:

<Entry Placeholder="Paste Link" 
    Text="{Binding Test.Url}"></Entry>

<Entry Placeholder="Paste Link" 
    Text="{Binding Testurl}"></Entry>

我也已经在我的构造函数中设置了BindingContext,如下所示:

BindingContext = viewModel = new ViewModel(ContentView);

在将命名空间添加到XAML并测试字符串工作后,我无法绑定到MAUI应用程序中的嵌套属性。我想知道我缺少什么。

bfnvny8b

bfnvny8b1#

使Url类可观察,然后它应该可以正常工作:

public class Url : ObservableObject
{
    [ObservableProperty]
    private string urltitle;

    [ObservableProperty]
    private string location;

    [ObservableProperty]
    private string url;
}

之所以需要这样做,是因为每个属性都必须调用PropertyChanged事件。父对象是可观察的是不够的。

相关问题