3

Windows Presentation Foundationを使用してネイティブのWindows7通知領域Windowsのようなウィンドウを作成する方法はありますか?たとえば、オーディオコントロールや電源プランの設定。

見た目が同じであるWindowsフォームを使用してウィンドウを作成できましたが、境界線にカーソルを合わせるとサイズ変更カーソルが表示されました。私は次のコードを使用しています:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True"
        DataContext="{Binding}" WindowStyle="SingleBorderWindow"
        WindowStartupLocation="Manual" ShowActivated="False"
        IsManipulationEnabled="False" mc:Ignorable="d"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        d:DesignHeight="218" d:DesignWidth="368" SizeToContent="WidthAndHeight">
    <Grid>

    </Grid>
</Window>

私の問題は、タイトルバーと閉じるボタンを完全に削除できないことです。または、そのようなウィンドウを作成するために利用できるライブラリはありますか?

スクリーンショットを投稿したかったのですが、まだ10レピュテーションポイントがないのでできませんでした。

助けてくれてありがとう!

4

2 に答える 2

1

WPFだけでそれを行うことはできません。Win32相互運用機能を実行し、ウィンドウからWS_CAPTIONスタイルとWS_SYSMENUスタイルを削除する必要があります。

これは、ウィンドウスタイルと拡張スタイルを操作する方法に関するサンプルコードがある同様のSO質問に対する私の答えです。

于 2010-08-26T23:46:08.633 に答える
1

ウィンドウを好きなように見せることができます。既に取得しているものに加えて、WindowStyle を None に設定し、AlwaysTransparency を true に設定します。次に、独自の ControlTemplate を Window に適用して、部分的な透明度や奇妙な形など、見つけたもののように見せることができます。

于 2010-08-27T01:15:06.957 に答える