2014-12-11 3 views
0

Я использую iCommand в своем проекте. У меня окно с кнопками. Каждая кнопка содержит изображение с категорией одежды, и каждая категория имеет свой класс. После нажатия на кнопку мне нужно знать тип категории в параметре. Есть ли решение для моей проблемы?Как конкретный CommandParameter в xaml знать тип объекта

<i:Interaction.Triggers> 
<i:EventTrigger EventName="HandCursorClick"> 
<i:InvokeCommandAction Command="{Binding MyCommand}" CommandParameter="{Binding ????}"/> 
</i:EventTrigger> 
</i:Interaction.Triggers> 

я могу связать изображение, но это не дает мне правильный ответ о типе объекта, который представляет этот образ ...

В BehindCode я получил:

public ICommand MyCommand 
     { 
      get { return _myCommand ?? (_myCommand = new DelegateCommand<object>(CategoryExecuted)); } 
     } 

public void CategoryExecuted(object parameter) 
     { 
      Shoes s = parameter as Shoes; 
      if(s!=null) 
      { 
      .... 
      } 
     } 
+0

Вы уверены, что вызывается метод ** CategoryExecuted() **? Если да, то какой тип объекта передается? – olitee

+0

Да, это называется. У меня есть Breakpoint в CategoryExecuted и отладчик останавливается на нем. Но параметр null, и я не могу проверить тип. – Ann

+0

Ваш пример имеет «{Binding ????}» для вашего CommandParameter. Что вы используете в своем коде, чтобы попасть в точку останова? Вы привязываетесь к чему-то на своей модели? – olitee

ответ

0

если у вас есть свойство lat_ category_1 в вашей модели модели , вы можете привязываться к нему в параметре команды в Button of category1 , чтобы привязать его к
. Ключ должен иметь свойство в вашей модели модели

<i:InvokeCommandAction Command="{Binding MyCommand}" CommandParameter="{Binding Category_1}"/>

+0

Хорошо, спасибо за подсказку. Я пытаюсь сделать свойство. :) – Ann