Comments (4)
How is IsChecked defined?
from avalonia.
The row ViewModel needs to be ObservableObject as well. That's by design.
from avalonia.
Thank you for your kind advice and your willingness to help me.
You asked me about the implementation of the IsChecked property. Here is my class that is part of the ObservableCollection:
public partial class Student : ObservableObject, INotifyPropertyChanged
{
public int StudentId { get; set; }
public string Name { get; set; } = null!;
public string Surname { get; set; } = null!;
public int StudentGroupId { get; set; }
public string Patronymic { get; set; } = null!;
public short AdmissionDate { get; set; }
public int StudentStatusId { get; set; }
public string Fio { get; set; } = null!;
public virtual Group? StudentGroup { get; set; }
public virtual StudentsStatus? StudentStatus { get; set; }
public virtual ICollection<StudentsAndPayment> StudentsAndPayments { get; set; } = new List<StudentsAndPayment>();
bool _isChecked = false;
[NotMapped]
public bool IsChecked { get => _isChecked; set { _isChecked = value; OnPropertyChanged(nameof(IsChecked)); } }
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public bool Equals(Student other)
{
if (other == null) return false;
return Fio == other.Fio && StudentGroupId == other.StudentGroupId && StudentStatusId == other.StudentStatusId && AdmissionDate == other.AdmissionDate && Name == other.Name &&
Surname == other.Surname && Patronymic == other.Patronymic;
}
}
I think this is not the best solution, as INotifyPropertyChanged is already present. Is there any way to mark the field "_isChecked" as an [ObservableProperty] and [NotMapped]? I need it in my case...
from avalonia.
Okay, I've just figured it out. Thanks!
public partial class Student : ObservableObject
{
public int StudentId { get; set; }
public string Name { get; set; } = null!;
public string Surname { get; set; } = null!;
public int StudentGroupId { get; set; }
public string Patronymic { get; set; } = null!;
public short AdmissionDate { get; set; }
public int StudentStatusId { get; set; }
public string Fio { get; set; } = null!;
public virtual Group? StudentGroup { get; set; }
public virtual StudentsStatus? StudentStatus { get; set; }
public virtual ICollection<StudentsAndPayment> StudentsAndPayments { get; set; } = new List<StudentsAndPayment>();
[ObservableProperty]
[property: NotMapped]
bool _isChecked = false;
public bool Equals(Student other)
{
if (other == null) return false;
return Fio == other.Fio && StudentGroupId == other.StudentGroupId && StudentStatusId == other.StudentStatusId && AdmissionDate == other.AdmissionDate && Name == other.Name &&
Surname == other.Surname && Patronymic == other.Patronymic;
}
}
from avalonia.
Related Issues (20)
- Primitive types parsing failed with OnPlatform MarkupExtension.
- TimePicker includes seconds when UseSeconds is false in 11.2.0-beta1&2 HOT 2
- Memory leak on macOS with Metal rendering
- Null-conditional operators for nested Bindings
- Implement NativeMenuItemSeparator.IsVisible
- Render exception on Android HOT 1
- WASM issue using dotnet-serve HOT 1
- Assemblies referenced in namespaceresolver that are not included in build HOT 1
- [Avalonia.Android] GPU Hardware Acceleration doesn't work. HOT 3
- Multi-DLL support needed for views HOT 4
- Setting SelectionForegroundBrush for TextBox kills performance
- TextBox in Expandable.Header Captures Space Input HOT 2
- [11.2 beta 2] Font vertical position not the same as in 11.1.3 => decentering
- RoutedViewHost remains subscribed to the current view model of previously connected Routers.
- Custom control's properties can't be used by xaml outside the control's own assembly (F#)
- AxamlRuntimeLoader breaks DynamicResources
- UnitTests: add control rendering to Avalonia.Headless HOT 1
- Headless window implementation does not persist Position property
- NullReferenceException if the CancellationToken already cancelled HOT 2
- Binding not updated when updating Collection using Dispatcher HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from avalonia.