C# 修复进程隔离(通过FrameworkElementAdapter)WPF控件的顺序/剪裁

C# 修复进程隔离(通过FrameworkElementAdapter)WPF控件的顺序/剪裁,c#,wpf,maf,C#,Wpf,Maf,我有一个wpf应用程序,它托管一组控件,这些控件由另一个进程通过FrameworkElementAdapter支持。由于某些原因,这些控件存在剪裁/Z顺序问题,而非远程控件似乎不会出现这种问题。 上图中的gridview是托管控件之一,与右侧的面板不正确地重叠,而托管它的contentcontrol的行为与预期一致。我已经在gridview上显式设置了cliptobunds=true 我的问题是: 有没有办法让我的控件正确地剪裁并遵守z顺序,或者FrameworkElementAdapter通

我有一个wpf应用程序,它托管一组控件,这些控件由另一个进程通过FrameworkElementAdapter支持。由于某些原因,这些控件存在剪裁/Z顺序问题,而非远程控件似乎不会出现这种问题。

上图中的gridview是托管控件之一,与右侧的面板不正确地重叠,而托管它的contentcontrol的行为与预期一致。我已经在gridview上显式设置了
cliptobunds=true

我的问题是: 有没有办法让我的控件正确地剪裁并遵守z顺序,或者FrameworkElementAdapter通过(例如)将它们渲染到装饰器层或其他方式来实现这一点

Xaml:

有趣的旁注:如果我使用Snoop检查我的应用程序,当您将鼠标悬停在可视化树形图的部分上时,在预览Snoop显示中,远程控件根本不会出现,它们各自的主机ContentControl显示为空,但大小正确

<Grid>
    <Viewbox>
        <ContentControl Content="{Binding VM.ErrorView}" Height="240" Width="425" Loaded="ContentControl_Loaded"/>
    </Viewbox>
</Grid>
public partial class ValidationView : UserControl
{
    public ValidationView()
    {
        InitializeComponent();
    }

    private void ContentControl_Loaded(object sender, RoutedEventArgs e)
    {
        var cc = (sender as ContentControl);
        var content = cc.Content as FrameworkElement;
        content.ClipToBounds = true;
    }
}