Xaml 入口是如何从LayoutRootStyle级联到子控件的?

Xaml 入口是如何从LayoutRootStyle级联到子控件的?,xaml,windows-runtime,windows-store-apps,winrt-xaml,Xaml,Windows Runtime,Windows Store Apps,Winrt Xaml,我现在正在经历这个过程,我不明白为什么WebView控件没有像其他控件那样做相同的入口动画。有一节介绍了添加动画和转场,其中解释了不希望添加动画和转场,并且需要一个带有动画的故事板来实现这一点 我在StandardStyles.xaml中找到了将转换应用于其他控件的setter的源代码 <Style x:Key="LayoutRootStyle" TargetType="Panel"> <Setter Property="Background" Value="{Stat

我现在正在经历这个过程,我不明白为什么WebView控件没有像其他控件那样做相同的入口动画。有一节介绍了添加动画和转场,其中解释了不希望添加动画和转场,并且需要一个带有动画的故事板来实现这一点

我在StandardStyles.xaml中找到了将转换应用于其他控件的setter的源代码

<Style x:Key="LayoutRootStyle" TargetType="Panel">
    <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
    <Setter Property="ChildrenTransitions">
        <Setter.Value>
            <TransitionCollection>
                <EntranceThemeTransition/>
            </TransitionCollection>
        </Setter.Value>
    </Setter>
</Style>

这似乎应该将EnterthemeTransition应用于具有此样式的面板的每个子控件,或者只应将转换应用于其直接子控件。它似乎两者兼而有之

我还希望没有任何定位信息的控件与其父控件一起设置动画。事实似乎并非如此,WebView的直接父对象动画效果很好


在这种情况下,是什么让WebView如此特别?除了它不是默认模板的一部分之外。为什么我们需要添加PopineManimation和故事板来移动这个控件,为什么它的移动速度与它应该在里面的控件不同

A
WebView
是一个特殊控件,它位于自己的HWND(经典的WinAPI窗口)中,而不是在深度平面空间(jupiter窗口)中呈现的其他典型的基于XAML的UI。因此,它生活在自己的空域(向上)所有其他控制之上。当您想要为其设置动画或在其上覆盖其他内容(例如,应用程序栏)时,通常会将其替换为其他控件(例如矩形),其中填充有
WebViewBrush
同步到WebView

我认为(一些)主题动画使用或其他一些机制来代替常规的故事板,可能WebView控件无法很好地与之配合


我的建议是-如果它不适用于您尝试使用的内容(EnterthemeTransition)-使用不同的东西(基于常规故事板的动画)。

因此,正常行为是layoutroot的所有子控件都以相同的方式设置动画,但某些控件(如WebView)不能很好地播放。是这样吗?您知道的任何其他控件都不能很好地工作吗?MediaElement的性能稍好一些,但在播放视频时,您仍然必须小心使用它。