ListBox.ItemTemplate с пользовательским шаблоном управления внутри DataTemplate - PullRequest
1 голос
/ 04 августа 2010

Я занимаюсь разработкой приложения для Windows Phone.Я определил DataTemplate объекта ListBox.ItemTemplate следующим образом:

<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 Ответ

1 голос
/ 14 декабря 2010

В blend вы можете просто использовать опцию «Make in Control».

Вам также следует рассмотреть возможность использования события «SelectionChanged» в списке, а не щелчка (нажатия) на элементе управления.

...