function get_random_color() {
return "#" + (Math.round(Math.random() * 0XFFFFFF)).toString(16);
}
Могу ли я привязать ItemsControl.ItemsSource к коллекции нового класса ViewModel, представляющего каждый элемент?
Создаете ли вы CustomObjectViewModel для размещения команды или помещаете команду в ту же ViewModel список действительно зависит от функции происходящего действия. Это что-то, что принадлежит CustomObject, или это что-то, что принадлежит вашей текущей ViewModel?
Или есть какое-то выражение привязки, которое я могу использовать для возврата к DataContext окна, чтобы иметь доступ для привязки к ViewModel (когда я набираю это, это звучит плохо, поэтому я принимаю большое «НЕТ» этой идее)?
Это не так плохо, как кажется. На самом деле вам не нужен DataContext окна, только DataContext до того, как он переключился на отдельные элементы. to - событие LeftMouseButtonUp для Сетка управления. Нет "команды" для сетка, поэтому я пытался использовать InputBindings.
Для этого я бы использовал что-то вроде Attached Command Behaviors , которое позволит вам прикрепить ICommand к любому событию.
Джош Смит написал отличную статью в MSDN здесь , где он говорит о связывании команд.
В вашем случае это сводится к следующему:
HTH.