Я несколько новичок в Windows Phone 8 и теряюсь в этом {Binding} материале. Я хочу знать, как эта кнопка связывает командный параметр? и с чем этот обязательный параметр связывается?windows phone 8 командный параметр кнопки {binding}
<data:MoviesByCategory x:Key="movies"/>
<data:MoreCommand x:Key="moreCommand" />
<phone:LongListSelector x:Name="codeMovies" IsGroupingEnabled="true"
ItemsSource="{StaticResource movies}"
ListHeaderTemplate="{StaticResource movieListHeader}"
GroupHeaderTemplate="{StaticResource movieGroupHeader}"
ItemTemplate="{StaticResource movieItemTemplate}"
JumpListStyle="{StaticResource MoviesJumpListStyle}"
toolkit:TiltEffect.IsTiltEnabled="True">
<!-- The group footer template, for groups in the main list -->
<phone:LongListSelector.GroupFooterTemplate>
<DataTemplate>
<Button DataContext="{Binding}" Content="{Binding GetMore}"
Command="{StaticResource moreCommand}" CommandParameter="{Binding}"/>
</DataTemplate>
</phone:LongListSelector.GroupFooterTemplate>
* «можно просто удалить, так как он ничего не делает». * Если не требуется параметр команды, это фильм, отображаемый на кнопке. – Will
@ Все, что сделано, установка DataContext = "{Binding}" не имеет никакого эффекта, по умолчанию DataContext автоматически унаследован от родителя, поэтому установка его явно не будет иметь никакого эффекта. Важным связыванием является CommandParameter = "{Binding}". –
Нет, DataContext делает * не * поток в CommandParameter кнопки. Итак, если вам нужно передать текущее содержимое DataContext в команду через CommandParameter, вы ** должны ** использовать привязку. Сказать, что это «строго никакого эффекта», совершенно неверно. Попробуйте сами. – Will