8

我正在尝试实现将主窗口边界与控件重叠的效果。很难用语言来解释这一点,这也可能是为什么我很难找到有关如何执行此操作或什至可能的信息的原因。

下面是我试图获得的效果示例(来自设计器),其中“注释”对象漂浮在主窗口的边界之外。

示例 1

但是我在运行时得到的效果是这样的(下图),内部控件被主窗口的边界剪裁。

示例 2

有人可以告诉我这是否可能(或不可能),以及是否有一些关于如何获得这种效果的建议。

4

4 回答 4

9

有一个控件可以实现这种行为你试过一个Popup控件吗?看看这个

这是一个例子;e"

<Window x:Class="MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <ToggleButton x:Name="MainButton" Content="Show popup" VerticalAlignment="Top" HorizontalAlignment="Right"/>
    <Popup PlacementTarget="{Binding ElementName=MainButton}" Placement="Bottom" AllowsTransparency="True" IsOpen="{Binding ElementName=MainButton, Path=IsChecked}">
        <Grid>
            <Border BorderBrush="Orange" BorderThickness="1" Background="Yellow"/>
            <TextBlock Text="Lorem Ipsum is simply dummy text of the printing and typesetting industry"/>
        </Grid>            
    </Popup>
</Grid>

于 2014-08-14T01:55:42.270 回答
2

窗口的内容总是会被剪裁。所以基本上只有一种方法可以去这里。您可以通过为浮动内容创建一个新的透明窗口,然后根据主窗口的位置手动设置和更新浮动内容窗口的位置来获得所需的效果。

到目前为止,我一直在使用AvalonDock来实现类似的功能。你可以试一试...

于 2012-06-18T07:29:44.223 回答
1

我认为没有办法在窗口范围之外进行绘制。但是,您可以简单地为便笺控件创建一个新窗口并将其与主窗口对齐。

于 2012-06-18T07:28:41.303 回答
0

您是否尝试过 ClipToBounds属性?

于 2012-06-18T07:06:40.503 回答