继电器命令不执行

问题描述 投票:0回答:1

我已经查看了有关此主题的其他一些问题,但尚未找到解决方案。

数据绑定正在工作,我使用不同的标签和输入字段进行了测试以确保。我没有遇到数据绑定失败的情况。我正在使用 CommunityToolkit.Mvvm。也就是说,这是代码。

XAML

<Button Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2"
       Text="Calculate"
       Command="{Binding CalculateValue}"
       FontSize="Small"
       HorizontalOptions="Center" />



 C#   
[RelayCommand]

private void CalculateValue()
{

    TotalValue = 100;
}

我现在知道它的绑定,因为原始片段由于错误(是公共的而不是私有的)而给出了绑定错误,但现在它已得到纠正,它根本不执行。我将 TotalValue 绑定到视图中的另一个标签,但它不会更新。我还尝试在函数中使用断点,但没有成功。

对我来说突出的一件事(因为我查看了 MS 的示例)是我的班级被标记为部分班级,而他们的班级则不是。如果我没有将其定义为部分(文档中规定这样做),那么我会收到错误,这样就有意义了,但他们在 Github 上的示例却没有。

感谢所有的帮助。

c# .net xaml maui maui-community-toolkit
1个回答
0
投票

发现问题了。在View cs文件中,我之前是设置绑定源的

InitializeComponents();

我这样做是因为如果我之后这样做的话,我会收到命令上的绑定错误。我在初始化后设置了 BindingContext,这导致了绑定错误,但后来我意识到我需要在名称末尾添加“Command”。更正后的代码应该如下所示。

<Button Grid.Row="6" Grid.Column="1" Grid.ColumnSpan="2"
       Text="Calculate"
       Command="{Binding CalculateValueCommand}"
       FontSize="Small"
       HorizontalOptions="Center" />
© www.soinside.com 2019 - 2024. All rights reserved.