我是一个有用的助手,可以进行文本翻译。
我有一个父用户控件,以下是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>
在这个用户控件中(每个下载可观察集合中都会添加一个),我有多个 Downloader: Download 用户控件(如上所示的项模板中)。注意到百分比完成和数据上下文的绑定,以下是 XAML 内容。
</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"/>
这一切都很好,我向集合中添加一个项目,UI会捕获新项目并添加一个新控件,非常棒。问题是,我想在代码后台中获取子用户控件中的绑定对象,以便可以调用其方法,但我似乎无法找到一种方法来实现它,在子控件的代码后台中,我希望能够像这样做:
public DownloadControl()
{
// Required to initialize variables
InitializeComponent();
object DownloadEntity = this.DataContext as DownloadEntity;
}
但是没有数据上下文...
有没有办法获取我的子用户控件绑定的“对象”?
谢谢!