1

少し恥ずかしいですが、私は wpf に非常に慣れていません。ウィンドウ全体で移動およびドラッグできる親ウィンドウ内に子ウィンドウを実装したいと考えています。今まで多くのブログを見てきましたが、それらはすべて非常に複雑で複雑であり、コードをその中に展開するのは簡単ではありません. ここでは、簡単な方法で実装しようとしましたが、

xaml:

<Window x:Class="Project_Explorer.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:wpfx="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit/extended"
        Title="Project Explorer">
 <Grid>
    <wpfx:ChildWindow Name="PopupChildWindow" Caption="Child Window" Height="200" IsModal="True" Margin="105,0,0,47" Width="306" HorizontalAlignment="Left" VerticalAlignment="Bottom" / >           
 </Grid>
</window>

投稿やウェブサイトを参照しないでください。子ウィンドウを実装する小さなデモ xaml および xaml.cs ファイルを提供するだけです。

4

1 に答える 1

1

FloatingWindow/FloatingWindowHost を試してみてください - CodeProject.com で元のバージョンを見つけることができます。または、(ズームやその他の機能を備えた) FloatingWindowHostZUI も追加し、コードの WPF と Silverlight のバージョンをほぼマージした私の更新バージョンを入手できます。 (元のバージョンには個別の実装がありました)。

http://ClipFlair.codeplex.comでそのライブラリの私のバージョンを参照してください(ソースを取得し、ソースの Client/ZUI フォルダーをチェックアウトします。FloatingWindow フォルダーと FloatingWindowZUI フォルダーで別のソリューションを利用できます [2 番目は 1 番目のプロジェクトを使用します] 1])

これらは Window クラスを拡張していないことに注意してください。ただし、コードを UserControl にして FloatingWindow でホストするか、FloatingWindow サブクラスを作成してそこにコードを直接配置することができます。

http://ClipFlair.netでFloatingWindow を試すことができます。そこにある Studio リンクをたどってから、Tutorial アクティビティを開きます。FloatingWindowHost ツールバーからズーム スライダーを操作します。タイトルバーのレンチ ボタンを使用して Windows を反転し、個々のズーム (スケール) などのプロパティを背面で設定することもできます。

于 2014-01-15T08:49:54.743 に答える