Мои 2 записи привязаны к привязываемому свойству и работают хорошо, но после сохранения данных из записей я хочу очистить значение записей, но это не могло повлиять на мой пользовательский интерфейс, если я использую ctrl + save в моем файле xaml, свойство onproperty измененное событие запущено и записи удалены. Также я использовал класс в своем привязываемом свойстве с двумя переменными get set. если я создаю два разных связываемых свойства для двух записей, чем это работает, но в классе это не работает. но я хочу использовать только одно связываемое свойство с классом. Я делюсь своим кодом.
// Класс Inotify
public class BaseViewModel : INotifyPropertyChanged
{
protected virtual void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
else
{
return;
}
}
}
// класс модели
public class NoModel
{
public string No { get; set; }
public string Amt { get; set; }
}
// при изменении свойства
public NoModel bindNoModel= new NoModel ();
public NoModel BindNoModel
{
get { return bindNoModel; }
set
{
bindNoModel= value;
OnPropertyChanged(nameof(BindNoModel));
}
}
// мой код xaml
<StackLayout Orientation="Horizontal" HorizontalOptions="FillAndExpand" VerticalOptions="StartAndExpand">
<Label WidthRequest="110" Text="Amount" VerticalOptions="Center" Font="Bold" FontSize="Medium" ></Label>
<Entry Text="{Binding BindNoModel.Amt }" Placeholder="Enter Amount" ReturnType="Done" ReturnCommand="{Binding SubmitCommand}" Keyboard="Numeric" HorizontalOptions="FillAndExpand" />
</StackLayout>
// при команде сохранения
BindNoModel.No = string.Empty;
BindNoModel.Amt = string.Empty;
Примечание 1: приведенный выше код при команде сохранения не работает, я использую ctrl + save на моем xaml файл, а затем пользовательский интерфейс изменяется.
Примечание 2: этот код ниже работает, если я создаю разные свойства
public string no;
public string No
{
get { return no; }
set
{
no = value;
OnPropertyChanged(nameof(No));
}
}
public string amt ;
public string Amt
{
get { return amt ; }
set
{
amt = value;
OnPropertyChanged(nameof(Amt ));
}
}
// при сохранении команды
No = string.Empty;
Amt = string.Empty;