我想找到名称为“ ParagraphOne”的段落的父级(因此RichTextBlock的名称为“ RichTextOne”),但是代码会生成异常。
Xml:
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid VerticalAlignment="Center" HorizontalAlignment="Center">
<StackPanel>
<RichTextBlock x:Name="RichTextOne" Margin="30">
<Paragraph x:Name="ParagraphOne">
<Run Text="This is a Text"/>
</Paragraph>
</RichTextBlock>
<Button x:Name="btnParent" Click="btnParent_Click" Margin="30" Width="100" Height="32" Content="Find Parent"/>
</StackPanel>
</Grid>
</Grid>
码:
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private async void btnParent_Click(object sender, RoutedEventArgs e)
{
var parent = VisualTreeHelper.GetParent(ParagraphOne) as UIElement;
string pName = (parent as RichTextBlock).Name;
var messageDialog = new MessageDialog("The name of parent is: " + pName);
await messageDialog.ShowAsync();
}
}
办法吗 提前致谢!
生成的错误是:无法修复的错误(HRESULT的异常:0x8000FFFF(E_UNEXPECTED))
这应该工作:
RichTextBlock parent = ParagraphOne.ElementStart.Parent as RichTextBlock;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句