我的VIEW拒绝从VIEWMODEL中提取数据。Visual Studio 2022 intellisense会填充连接,就好像存在连接一样,它编译得很好......但没有数据显示。我已经离开XAML好几年了,现在我正试图重新跳回来。
我试图让一个输入字段更新VIEWMODEL,然后更新标签以显示写入VIEWMODEL的文本。我不断地分析代码,试图在执行更复杂的绑定之前让任何东西都能工作,但现在我无法让VIEW连接到VIEWMODEL。
下面的XAML是非常精简的VIEW代码。
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:model="clr-namespace:MauiCalendar.Model"
xmlns:viewmodel="clr-namespace:MauiCalendar.ViewModel"
x:Class="MauiCalendar.View.DaySingleView"
x:DataType="viewmodel:DaySingleViewModel"
Title="{Binding Title}">
<VerticalStackLayout>
<Entry
Text="{Binding Title}" />
<Label
Text="{Binding Title}" />
<Label
Text="Test" />
<Button
Text="Load Days" />
</VerticalStackLayout>
</ContentPage>
VIEWMODEL被称为“DaySingleViewModel”,位于ViewModel目录中。我有多个字段和方法,但我将它们剥离出来以保持问题简洁。
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using CommunityToolkit.Diagnostics;
using System.Diagnostics;
using System.ComponentModel;
using MauiCalendar.Model;
using MauiCalendar.Services;
namespace MauiCalendar.ViewModel
{
[ObservableObject]
public partial class DaySingleViewModel
{
public DaySingleViewModel()
{ }
[ObservableProperty]
string title = "Starting Value";
}
}
以上代码输出如下内容:
有没有更有经验的人愿意看看我做错了什么?
1条答案
按热度按时间yjghlzjz1#
我测试了你的代码,你需要先添加
BindingContext
来连接View
和ViewModel
。下面的代码片段供你参考。代码要简洁易懂。检视:
检视的程式码后置:
视图模型:
起始页: