由MVVM点击事件在Windows Phone 8中不起作用

时间:2014-02-25 07:35:10

标签: xaml windows-phone-8 windows-phone

我正试图点击列表框项目的事件并点击该项目,但点击事件未触发,请帮助。

<ListBox Margin="0,40,0,0"
         ItemsSource="{Binding Documents}" IsHitTestVisible="True" 
         Width="450"
         VirtualizingStackPanel.VirtualizationMode="Recycling">

    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <toolkit:WrapPanel Orientation="Horizontal" />
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid Height="150" Margin="5"
                  Width="150" Background="Aqua">
                <TextBlock Text="{Binding Name}" VerticalAlignment="Center" HorizontalAlignment="Center" />

                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="Tap">
                        <commands:MvxEventToCommand Command="{Binding OpenFileCommand}" />
                    </i:EventTrigger>
                </i:Interaction.Triggers>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 个答案:

答案 0 :(得分:3)

你确定事件永远不会被解雇吗?也许你在网格外面点击?列表框项目内容(在这种情况下为网格)不会在整个列表框宽度中进行扩展,默认情况下它是左对齐的。要确认,请尝试点击列表框项目的最左侧区域,然后查看该事件是否已触发。

假设问题是由于列表框项目内容没有拉伸造成的,您可以尝试设置HorizontalContentAlignment="Stretch"来修复它:

<ListBox.ItemContainerStyle>
    <Style TargetType="ListBoxItem">
        <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
    </Style>
</ListBox.ItemContainerStyle>