Windows Phone и Silverlight ListBox.ItemTemplate - PullRequest
0 голосов
/ 05 января 2011

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

 <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}); не выполняется, когда я нажимаю кнопку.

Я должен сказать, что если не поместить HyperlinkButton в элемент itemTemplate, все работает нормально. Я использую Galasoft Mvvm Light Takeit - http://www.galasoft.ch/mvvm/getstarted/ Я ценю любую помощь.

1 Ответ

0 голосов
/ 05 января 2011

Я полагаю, у вас есть опечатка в вашем 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, индифромоз

...