Skip to content

codingseb/Mvvm

Repository files navigation

Mvvm

NuGet Status
Some useful stuff for better Mvvm in WPF

Features

  • XCommand (To bind between Events, Commands, Methods and Property for CanExecute) with smart refresh of the CanExecute (Have some code evaluation features similar to Eval).
  • Eval Binding with Code Evaluation (Avalonia UI Style and more)
    • On DataContext (Properties and methods directly available)
    • ElementName #Name.Something
    • RelativeSource $self, $parent (LogicalTree), $$parent (VisualTree), $parent[TypeName], $parent[3], $parent[TypeName,2]
    • StaticResource @ResourceKey
  • XMultiBinding for nesting MultiBinding, Binding, Eval and other markups. You can use at each level IMultiValueConverter, IValueConveter (Work very well with CodingSeb.Converters)
  • IRelayCommand (That inherit from ICommand) to call RaiseCanExecuteChanged() from anywhere
    • RelayCommand
    • RelayCommand<T>
  • Some extensions methods to navigate in both VisualTree and LogicalTree easily from C#
  • NotifyPropertyChangedBaseClass the class to inherit that implementing INotifyPropertyChanged and a public virtual void NotifyPropertyChanged([CallerMemberName] string propertyName = "")

Code Evaluation stuff use CodingSeb.ExpressionEvaluator

You can also use PropertyChanged.Fody and/or ReactiveUI.Fody to simplify more your Mvvm code

About

Some useful stuff for better Mvvm in WPF

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages