Получить объект, с которым связан пользовательский элемент управления, когда внутри элемента управления?

2

У меня есть родительский пользовательский контроль, вот выдержка из 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...

Есть ли способ получить "объект", к которому привязан мой дочерний пользовательский элемент?

Спасибо!

Теги:
silverlight
silverlight-3.0

1 ответ

2
Лучший ответ

поскольку я теперь обнаружил, что если я обрабатываю события на элементах управления в xaml, набор данных задается и может быть получен следующим образом

MyDataBoundEntity mdbe = this.DataContext as MyDataBoundEntity;

легко, как

Ещё вопросы

Сообщество Overcoder
Наверх
Меню