using System.ComponentModel; namespace LocalizationTool.Models { /// 表格单元格:某语言下某条中文源文的译文。 public class CellVm : INotifyPropertyChanged { public string LangCode { get; set; } private string _value; public string Value { get => _value; set { if (_value == value) return; _value = value; OnPropertyChanged(nameof(Value)); OnPropertyChanged(nameof(IsMissing)); } } public bool IsMissing => string.IsNullOrWhiteSpace(Value); private bool _hasIssue; public bool HasIssue { get => _hasIssue; set { if (_hasIssue == value) return; _hasIssue = value; OnPropertyChanged(nameof(HasIssue)); } } private string _issueMessage = ""; public string IssueMessage { get => _issueMessage; set { if (_issueMessage == value) return; _issueMessage = value; OnPropertyChanged(nameof(IssueMessage)); } } public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string n) => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(n)); } }