BringIntoView方法不适用于内部扩展器

时间:2022-01-04 19:40:50

I have a WPF application with multiple Expanders

我有一个带有多个Expanders的WPF应用程序

<ScrollViewer>
    <StackPanel>
        <Expander Header="OuterExpander1" Expanded="ExpanderExpanded">
            <StackPanel>
                <Expander Header="InnerExpander1" Expanded="ExpanderExpanded"/>
                <Expander Header="InnerExpander2" Expanded="ExpanderExpanded"/>
            </StackPanel>
        </Expander>
        <Expander Header="OuterExpander2" Expanded="ExpanderExpanded">
            <StackPanel>
                <Expander Header="InnerExpander3" Expanded="ExpanderExpanded"/>
                <Expander Header="InnerExpander4" Expanded="ExpanderExpanded"/>
            </StackPanel>
        </Expander>
    </StackPanel>
</ScrollViewer>

private void ExpanderExpanded(object sender, System.Windows.RoutedEventArgs e)
{
    (sender as Expander).BringIntoView(new Rect(0, 0, 0, 1000));
}

But BringIntoView method doesn't work for inner Expanders, how could I fix this?

但是BringIntoView方法不适用于内部扩展器,我该如何解决这个问题呢?

1 个解决方案

#1


0  

Try to have a x:Name for the Expanders. It seems to solve the problem for me !!

尝试为扩展器设置x:名称。它似乎为我解决了问题!

#1


0  

Try to have a x:Name for the Expanders. It seems to solve the problem for me !!

尝试为扩展器设置x:名称。它似乎为我解决了问题!