8

メインウィンドウの境界をコントロールとオーバーラップさせる効果を実現しようとしています。これを言葉で説明するのは難しいので、これを行う方法やそれが可能かどうかについての情報を見つけるのに苦労しているのかもしれません。

以下は、私が(デザイナーから)取得しようとしている効果の例です。ここでは、「note」オブジェクトがメインウィンドウの境界の外側に浮かんでいます。

例1

ただし、実行時に得られる効果はこれ(以下)であり、内部コントロールはメインウィンドウの境界によってクリップされます。

例2

誰かがこれが可能かどうか(または不可能かどうか)、そしてそれが私がこの効果を得る方法についてのいくつかの提案であるかどうかを教えてもらえますか?

4

4 に答える 4

9

この種の動作を実現できるコントロールがありますか?ポップアップコントロールを試しましたか?これをチェックしてください

これが例です;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

ウィンドウの内容は常にクリップされます。つまり、基本的にここに行く方法は1つだけです。フローティングコンテンツ用の新しい透明なウィンドウを作成し、メインウィンドウの位置に基づいてフローティングコンテンツウィンドウの位置を手動で設定および更新することで、目的の効果を得ることができます。

これまで、同様の機能のためにAvalonDockを使用してきました。あなたはそれを試してみるかもしれません...

于 2012-06-18T07:29:44.223 に答える
1

窓の外に描く方法はないと思います。ただし、ノートコントロール用の新しいウィンドウを作成して、メインウィンドウに揃えることもできます。

于 2012-06-18T07:28:41.303 に答える
0

ClipToBoundsプロパティを試しましたか?

于 2012-06-18T07:06:40.503 に答える