Skip to content

Instantly share code, notes, and snippets.

View maxkatz6's full-sized avatar

Max Katz maxkatz6

View GitHub Profile
<?xml version='1.0'?>
<Obfuscator>
<Var name="InPath" value="." />
<Var name="OutPath" value="./Obfuscated" />
<Var name="KeepPublicApi" value="true" />
<Var name="HidePrivateApi" value="true" />
<Module file="$(InPath)/Views.dll">
<SkipType name="!AvaloniaResources" />
<SkipType name="CompiledAvaloniaXaml*" />
using System;
using System.Threading.Tasks;
using System.Windows.Input;
namespace MyAssembly.ViewModels;
/// <summary>
/// Simple implementation of Interaction pattern from ReactiveUI framework.
/// https://www.reactiveui.net/docs/handbook/interactions/
/// </summary>
@maxkatz6
maxkatz6 / PropertyChangeTracker.cs
Created October 7, 2025 01:30
Generic WhenAnyValue over INotifyPropertyChanged
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace AvaloniaUI.Mvvm;
public static class PropertyChangeTrackerExtensions
{
public static PropertyChangeTracker<TRes> WhenAnyValue<TIn, TRes>(