我不是 Silverlight 专家,我正在努力解决一个恼人的问题。
我在网格中有一个 Telerik RadRichTextbox。此网格位于作为 ItemsControl 一部分的 DataTemplate 内。像这样:
<ItemsControl Grid.Row="1" ItemsSource="{Binding MyCollection}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<telerik:RadRichTextBox x:Name="_Editor" DocumentChanged="HandleditorDocumentChanged"/>
<Xaml:XamlDataProvider x:Name="xamlProvider" Xaml="{Binding Text}" RichTextBox="{Binding ElementName=_Editor}" />
<TextBox Grid.Row="1" Text="{Binding Text2}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
在 DocumentChanges 事件中,我想访问 DataTemplate 的 DataContext。我尝试将 _Editor 的 DataContext 设置为 {Binding} 但在 DataContext 后面的代码中为空。然后我想到了获取_Editor的父级,即Grid。它的 DataContext 也为 null,其父级的 Grid 也为 null。
有任何想法吗?