0

У меня есть приложение Windows Phone 7 со следующим списком, и каждый элемент содержит 2 текстовых блока и гиперссылку.Windows Phone и Silverlight ListBox.ItemTemplate

<ListBox.ItemTemplate><DataTemplate><StackPanel Orientation="Vertical"> 
          <TextBlock/> 
          <TextBlock/> 
          <HyperlinkButton Content="[More...]" FontSize="12"HorizontalAlignment="Right" Height="30" Click="ClickEvent"> 
           <i:Interaction.Triggers> 
            <i:EventTrigger EventName="Click"<GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding GetCommand, Mode=OneWay}"/> 
            </i:EventTrigger> 
           </i:Interaction.Triggers> 
          </HyperlinkButton> 
         </StackPanel> 
       </DataTemplate> 
      </ListBox.ItemTemplate> 

В конструкторе ViewModel У меня есть следующий код:

GetCommand = new RelayCommand(() =>{some code}); where GetCommand is a property : 

public RelayCommand GetCommand { get; private set; } 

Моя проблема заключается в том, что GetCommand = new RelayCommand(() =>{some code}); не выполняется при нажатии на кнопку.

Должен сказать, что если вы не поместите гиперссылку на панель инструментов, то все будет хорошо. Я использую Galasoft mvvm light takeit - http://www.galasoft.ch/mvvm/getstarted/ Я ценю любую помощь.

+1

Пожалуйста, не задавайте подобные вопросы в такой быстрой последовательности. Просто отредактируйте исходный вопрос с дополнительной детализацией. Попробуйте удалить другой вопрос с тем же вопросом – AnthonyWJones

ответ

0

Я предполагаю, что у вас есть опечатка в вашем XAML, он должен прочитать -

<i:Interaction.Triggers> 
    <i:EventTrigger EventName="Click"> 
     <GalaSoft_MvvmLight_Command:EventToCommand Command="{Binding GetCommand, Mode=OneWay}"/> 
    </i:EventTrigger> 
</i:Interaction.Triggers> 

Попробуйте код после удаления Mode=OneWay из выражения привязки.

HTH, indyfromoz

Смежные вопросы