Я использую изменение свойства Inotify .... Как работает INotifyPropertyChanged? как это использовать?
Я не думаю, что это освещалось в каком-либо учебнике, который я читал или делал. Кто-нибудь знает, как работает эта линия? Это пример кода использования sfnumerictextbox, но его свойство по умолчанию - объект. Мне нужно, чтобы оно было двойным или целым, поэтому пришла I notify, но я не понимаю этой строки.viewModel.Numeric = numericBox.Value == null? нуль: (двойной?)(numericBox.Value); так числовое значение равно нулю, так что для чего знак вопроса? то после вопросительного знака это похоже на if null double?
И, пожалуйста, коснитесь базы с помощью Inotifypropertychange.
using System;
using System.ComponentModel;
using Xamarin.Forms;
namespace NumericTextBoxSample
{
// Learn more about making custom code visible in the Xamarin.Forms previewer
// by visiting https://aka.ms/xamarinforms-previewer
[DesignTimeVisible(false)]
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void Button_Clicked(object sender, EventArgs e)
{
**viewModel.Numeric = numericBox.Value == null ? null : (double?)(numericBox.Value);**
}
}
public class ViewModel: INotifyPropertyChanged
{
private double? numeric; //checkrain
public double? Numeric //rain
{
get { return numeric; }
set
{
numeric = value;
RaisePropertyChanged("Numeric");
}
}
public event PropertyChangedEventHandler PropertyChanged;
void RaisePropertyChanged(string property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
}
}
1 ответ
?:
является тернарным оператором C#
viewModel.Numeric = numericBox.Value == null ? null : (double?)(numericBox.Value);
эквивалентно
if (numericBox.Value == null)
{
viewModel.Numeric = null;
}
else
{
viewModel.Numeric = (double?)(numericBox.Value);
}