2010-08-04 70 views
1

我正在開發Windows Phone應用程序。我已經定義了一個ListBox.ItemTemplate的DataTemplate中,如下所示:ListBox.ItemTemplate與DataTemplate中的自定義控件模板

<ListBox Margin="10,10,8,8" x:Name="ChoicesList"> 
    <ListBox.ItemsPanel> 
    <ItemsPanelTemplate> 
     <StackPanel /> 
    </ItemsPanelTemplate> 
    </ListBox.ItemsPanel> 
    <ListBox.ItemTemplate> 
    <DataTemplate> 
     <Grid x:Name="ListBoxItemLayout" Background="Transparent" Margin="10"> 
     <Grid.ColumnDefinitions> 
      <ColumnDefinition Width="0.281*"/> 
      <ColumnDefinition Width="0.719*"/> 
     </Grid.ColumnDefinitions> 
     <Image Source="{Binding ImagePath}" Height="100"/> 
     <StackPanel Margin="5,0,0,0" Grid.Column="1"> 
      <TextBlock x:Name="Name" TextWrapping="Wrap" Text="{Binding Name}" Style="{StaticResource PhoneTextTitle3Style}"/> 
      <TextBlock x:Name="Description" Margin="0,5,0,0" TextWrapping="Wrap" Text="{Binding Description}" d:LayoutOverrides="Width" Style="{StaticResource PhoneTextSmallStyle}"/> 
      <TextBlock x:Name="Rating" TextWrapping="Wrap" Text="{Binding Rating}" /> 
     </StackPanel> 
     </Grid> 
    </DataTemplate> 
    </ListBox.ItemTemplate> 
</ListBox> 

我想將ListBoxItem的裏面的所有內容轉換爲一個控制,因爲我想一個Click事件添加到它。

我該怎麼做?

謝謝。

+1

有沒有理由不能在你的ListBoxItemLayout網格上使用'MouseLeftButtonUp'? – Stephan 2010-08-04 18:44:24

+0

是的:我在Silverlight開發方面很新穎。 – VansFannel 2010-08-05 08:12:45

+0

可以在此處找到解決方案(不是唯一的解決方案):http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/bffb1cfc-cd2d-4af6-a306-32972ed3874d – VansFannel 2010-08-05 08:26:17

回答

1

在混合中,您可以使用「生成控制」選項。

您還應該考慮在列表框中使用「SelectionChanged」事件,而不是在控件上單擊(點按)。

相關問題