Нашли решение, просто используйте ref, который точно такой же, как указатель в C ++:
MainWindowViewModel:
public MainWindowViewModel()
{
MyType Type1 = new MyType();
MyType Type2 = new MyType();
MyItems.Add(Type1);
MyItems.Add(Type2);
Type1.SetPair(ref Type2);
}
MyType.cs:
using Prism.Mvvm;
namespace WpfApp2
{
public class MyType : BindableBase
{
private int _myVar;
public int MyVar
{
get { return _myVar; }
set
{
if (Equals(_myVar, value)) return;
SetProperty(ref _myVar, value);
if (MyPair!=null)
{
MyPair.MyVar = value;
}
}
}
public MyType()
{
MyVar = 0;
}
MyType MyPair { get; set; }
public void SetPair(ref MyType pair)
{
MyPair = pair;
}
public MyType GetPair()
{
return MyPair;
}
}
}
Теперь при перетаскивании ползунка второй ползунок будет двигаться вместе с первым ползунком.