Попробовал в первом приближенииб это то что нужно, Спасибо! (сам склонялся к некой вариации типа такого решения),
Просто и доступно получается, единственное не очень нравиться использовать DataContext (так как оно у меня в некоторых местах используеться по другому