【问题标题】:Find parent of paragraph UWP查找段落 UWP 的父级
【发布时间】:2017-12-20 08:33:43
【问题描述】:

我想找到名称为“ParagraphOne”的段落的父级(因此 RichTextBlock 的名称为:“RichTextOne”),但代码会产生异常。

Xaml:

 <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))

【问题讨论】:

  • 有什么例外?什么时候发生?
  • 添加图片...
  • 不要添加错误图片。以纯文本形式添加错误消息。纯文本是可搜索的。此外,在引发异常的地方还有一个调用堆栈。这些信息非常有帮助。也发布它。
  • 请同时提供调用堆栈。仅查看调用堆栈可能会让您更接近分析问题。

标签: c# uwp


【解决方案1】:

这应该可行:

RichTextBlock parent = ParagraphOne.ElementStart.Parent as RichTextBlock;

【讨论】:

    猜你喜欢
    • 2021-05-09
    • 2014-10-22
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-03
    相关资源
    最近更新 更多