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

时间:2012-11-13 21:43:54

标签: c# wpf expander

我有一个带有多个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));
}

但BringIntoView方法不适用于内部扩展器,我该如何解决?

1 个答案:

答案 0 :(得分:0)

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