我有一个wpf应用程序,它托管一组控件,这些控件由另一个进程通过FrameworkElementAdapter支持。出于某种原因,这些控件有一个剪辑/ Z顺序问题,非远程控件似乎没有表现出来
上图中的gridview是其中一个托管控件,并且右侧面板不正确地重叠,而托管它的contentcontrol的行为与预期一致。我已在gridview上明确设置了ClipToBounds = true
。
我的问题是: 有没有办法让我的控件剪辑并正确地遵守z顺序,或者FrameworkElementAdapter是否可以通过例如将它们渲染到装饰层或其他东西上来实现这一点?
的Xaml:
<Grid>
<Viewbox>
<ContentControl Content="{Binding VM.ErrorView}" Height="240" Width="425" Loaded="ContentControl_Loaded"/>
</Viewbox>
</Grid>
C#:
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;
}
}
有趣的注意事项:如果我使用Snoop检查我的应用程序,在鼠标悬停在可视树图的部分上时,在预览Snoop显示中,远程控件根本不显示,并且它们各自的主机内容控件显示为空,但是正确的尺寸