У меня есть следующее содержимое в Window
( удалено ненужных разделов ):
XAML:
<Style x:Key="itemstyle" TargetType="{x:Type ContentPresenter}">
<EventSetter Event="MouseLeftButtonDown" Handler="HandleItemClick"/>
</Style>
<ItemsControl ItemsSource="{Binding ArtistList}" Margin="10" Name="artist_list" ItemContainerStyle="{StaticResource itemstyle}" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding ID}" Foreground="White"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Controls:RSSViewer x:Name="rssControl" />
C # ( Код сзади ):
private void HandleItemClick(object sender, MouseButtonEventArgs e)
{
var selectedArtist = ((ContentPresenter) sender).Content as Artist;
rssControl.SourceUrl = "http://agnt666laptop:28666/rss.aspx?artistid=" + selectedArtist.ID;
}
Теперь я хочу преобразовать вышеуказанную смесь xaml и C # в нечто, что является чисто и исключительно xaml, чтобы воспользоваться преимуществами модели привязки данных WPF.
Я думаю, что для этого требуется что-то вроде триггера события и комбинации привязки данных с выбранным элементом элемента itemscontrol или что-то в этом роде, но я не уверен, как это сделать.
Кто-нибудь может подсказать мне, как я могу преобразовать вышеуказанное решение, чтобы удалить процедурный код?