У меня есть родительский пользовательский контроль, вот выдержка из xaml
<Grid x:Name="LayoutRoot" Width="Auto" Height="Auto" Background="Black" >
<ItemsControl ItemsSource="{Binding Path=Downloads, Source={StaticResource theViewModel}}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Downloader:DownloadControl DataContext="{Binding}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</UserControl>
внутри этого usercontrol (один добавляется для каждого элемента в загружаемом наблюдаемом коллективе). У меня есть несколько Downloader: Загрузите элементы управления пользователя (как можно видеть выше в шаблоне элемента), которые имеют следующий xaml в уведомлении: привязка к проценту завершена и datacontext..
</Grid.RowDefinitions>
<ProgressBar x:Name="progressbar" IsIndeterminate="False" Minimum="0"
Maximum="100" Value="{Binding PercentageComplete}" DataContext="{Binding}"
Height="20" HorizontalAlignment="Left" Margin="69,35,0,0" VerticalAlignment="Top"
Width="600" Foreground="#FF20B802"/>
все это отлично работает, я добавляю элемент в коллекцию, где пользовательский интерфейс поднимает новый элемент, добавляет новый элемент управления, сладкий. проблема в том, что я хочу получить связанный объект в элементе управления Child в коде, поэтому я могу вызывать методы на нем, я просто не могу понять, как это сделать, в коде для дочерних элементов управления id, чтобы иметь возможность сделать что-то вроде этого
public DownloadControl()
{
// Required to initialize variables
InitializeComponent();
object DownloadEntity = this.DataContext as DownloadEntity;
}
но нет datacontext...
Есть ли способ получить "объект", к которому привязан мой дочерний пользовательский элемент?
Спасибо!
поскольку я теперь обнаружил, что если я обрабатываю события на элементах управления в xaml, набор данных задается и может быть получен следующим образом
MyDataBoundEntity mdbe = this.DataContext as MyDataBoundEntity;
легко, как