Возможно ли связать событие в Silverlight DataTemplate? Если да, то каков наилучший способ сделать это?
Например, предположим, что вы создали DataTemplate с кнопкой в нем:
<UserControl.Resources>
<DataTemplate x:Key="MyDataTemplate" >
<Grid>
<Button Content="{Binding ButtonText}" Margin="4" />
</Grid>
</DataTemplate>
</UserControl.Resources>
Затем вы примените его к элементу ItemBox ListBox, например:
<Grid x:Name="LayoutRoot" Background="White">
<ListBox x:Name="lbListBox" ItemTemplate="{StaticResource MyDataTemplate}" />
</Grid>
Если вы установите для ListBox ItemSource список объектов класса:
public class MyDataClass
{
public string ButtonText{ get; set; }
}
Как же вы поймаете кнопку щелчка с каждой кнопки из DataTemplate в списке? Можете ли вы использовать привязку для привязки события Click к методу в "MyButtonClass", например:
<UserControl.Resources>
<DataTemplate x:Key="MyDataTemplate" >
<Grid>
<Button Click="{Binding OnItemButtonClick}" Content="{Binding ButtonText}" Margin="4" />
</Grid>
</DataTemplate>
</UserControl.Resources>
Будет ли это работать? Если да, то что я должен положить в "MyDataClass", чтобы поймать событие?
Спасибо, Джефф