У меня возникла проблема при попытке вызвать метод в моей ViewModel с помощью EventToCommand. Когда я использую привязку в CommandParameter со строкой, метод вызывается buy, переданный параметр имеет значение null, хотя он показывает значение в метке с привязкой. Когда я использую привязку в CommandParameter с целым числом, метод не вызывается.
Я пробовал изменить контекст привязки и отправить разные параметры. Если я отправляю несвязанную строку, она передает значение строки в метод.
Мои вопросы: почему переданный параметр показывает значение null в методе и почему метод не вызывается при использовании int?
ViewModel:
using System.Collections.ObjectModel;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Crate_UI.Models;
namespace Crate_UI.ViewModels;
public partial class CrossingViewModel() : ObservableObject
{
public ObservableCollection Factors { get; set; } = new();
public void SetMode(bool isSummaryMode)
{
Factors.Clear();
FactorUI factor = new();
factor.Id = 1;
factor.AreaId = 123;
factor.Name = "Name";
Factors.Add(factor);
}
[RelayCommand]
public void BoundString(string pagename)
{
string Name = pagename;
}
[RelayCommand]
public void BoundInt(int areaId)
{
int areaIndex = areaId;
}
}
Страница xaml:
Модель:
namespace Crate_UI.Models;
public class FactorUI : IFactorUI
{
public int Id { get; set; }
public int AreaId { get; set; }
public string Name { get; set; }
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... ionview-da