OnFilenameChanged не вызываетсяC#

Место общения программистов C#
Ответить
Anonymous
 OnFilenameChanged не вызывается

Сообщение Anonymous »

Код: Выделить всё

[QueryProperty("Filename", "Filename_")]
public partial class DetailsViewModel : ObservableObject
{

[ObservableProperty]
string filename;

partial void OnFilenameChanged(string value)
{
ReadFile();
}

[Relay Command]
async Task Edit(string s)
{
// filename passed as s
await Shell.Current.GoToAsync($"{"Edit"}?Filename_{s}");
}
}
Я использовал этот код, чтобы убедиться, что свойство было установлено вместо вызова ReadFile() из конструктора, где Filename имеет значение null, что отлично работало в моей DetailsViewModel, но при использовании той же идеи в моей EditViewModel метод OnFilenameChanged вообще не запускается.

Код: Выделить всё

[QueryProperty("Filename", "Filename_")]
public partial class EditViewModel : ObservableObject
{
[ObservableProperty]
string filename;

partial void OnFilenameChanged(string value)
{
ReadFile();
}
}
Сначала я думал, что проблема в методе ReadFile(), но я поставил на него точку останова, и он никогда не вызывался, что означает, что OnFilenameChanged тоже никогда не вызывается . Я пробовал играть с переменными, я прошел через это, и s - это имя файла, которое я хочу, чтобы оно было при передаче команде Edit.

Подробнее здесь: https://stackoverflow.com/questions/782 ... ing-called
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»