問題タブ [window-chrome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - XAMLではなくC#コードを使用してウィンドウクロムを有効にする方法は?
だから私はカスタム ウィンドウにクロムを適用するのに WPFShellを使用しています。この記事から、それを使用するには、 Microsoft.Windows.Shell ライブラリを参照し、次のXAML コードを使用する必要があることを知りました。
私の質問は、XAML ではなく C# コードを使用してクロムを有効にするにはどうすればよいですか? (つまり、コード ビハインドでクロムを適用するにはどうすればよいですか?)
c++ - C++ Win32 マイ ウィンドウをデザインする
リソース ファイル (.rc) を開いてボタンを作成することなどについて話しているのではありません。Visual Studio Ultimate 2012 のインストーラーのように、ウィンドウ自体の外観について話しているのです。
ボタン、そしてすべてが異なって見えます。Photoshop、AE、Maya Autodesk と同じです。
彼らはどのようにそれをしましたか?それは簡単ですか、それとも難しいですか?C++でできる?
wpf - WpfカスタムウィンドウTabControlのようなテンプレート
作成したいCustomWindow
このように動作するクラス:1。ウィンドウの非クライアント領域も使用されます。GoogleChromeのようにウィンドウタイトルの代わりにTabControlのタブが表示されます。2.タブは右に埋め込まれているため、ウィンドウが小さすぎる場合、最小/最大/閉じるボタンがタブと衝突しません。これは、TabControlテンプレートで実行できるはずです。3. Google Chromeの「新しいタブ」ボタンのように、タブの後にボタンがあります。繰り返しますが、これはTabControlのカスタム実装と、レンダリング用の偽の子を作成することで実行できるはずです。4.私のクラスはWindowクラスを継承し、子コレクション内のすべての子は、TabControl.ItemsSourceがWindow.Childrenにバインドされている場合と同様に、TabControlタブにマップされます。5. Windowは、子コレクションのように動作するプロパティItemsSourceも公開します。6. Windowは、TabControlがItemTemplateとして認識するものをスタイル設定する方法を提供します。CustomWindow.ItemsSource = new string[] { "a", "b", "c" };
アイテムのテンプレートを作成すると、3つのタブが作成され、タブヘッダースタイルがCustomWindowクラスにハードコーディングされ、タブアイテムのコンテンツ領域がユーザーによってテンプレート化されます。
ご覧のとおり、これは基本的にGoogle Chromeウィンドウの概要であり、まさに私が達成しようとしていることです。システムメニュー、ダブルクリックの最大化などを処理して、ウィンドウのクロムを好きなように曲げる方法を知っています。しかし、Windowから継承されたクラスを作成して、子だけを選択したTabControlにする方法はわかりません(タブヘッダーのスタイルが設定されています)が、実際には、子コレクションはTabControls子コレクションになります。私はWPFの経験があまりありません。これを正しい方法で開始したいので、将来書き直す必要はありません。
さらに、これが解決されたら、ピン留めされているタブをユーザーに知らせる方法を提供したいと思います。これは、CustomWindow.IsPinnedのような添付プロパティをCustomWindowで定義することで最もよく達成されると思います。
ありがとうございました。
.net - ウィンドウ クロム コントロール ボックスの「背後」でのレンダリング
通常の窓のクロムを取り除き、エアロ効果のガラスに置き換えるスタイルがあります (コードは下部にあります)。
示された行を見ると、ガラスを暗くするためにブラック ボックスを使用していますが、半透明のままです (この例では、同様の目的でホワイト ボックスを使用しています)。私が抱えている問題は、ブラック ボックスがコントロール ボックスの上に表示されることです。ブラックボックスがある場合とない場合のウィンドウのスクリーンショット...
(メモ帳は参照用に含まれています)。ウィンドウを暗くしたいのですが、現在のアプローチではコントロールが使用できなくなります。また、フォームの上にホバリングしたときの赤い輝きX
が、フォームの外側では明るく、内側では暗いことに注意してください。
それで、私の具体的な質問は...「背景」レイヤーの上にコントロールボックスをレンダリングするにはどうすればよいですか?
より一般的には、これを行うためのより良い方法があるに違いないと感じていますか? エッジケースが多すぎるため、エミュレートしすぎることを嫌います。
私が達成しようとしているのは、(*現在機能している場合)ウィンドウです:
- 暗い(実際には機能していません)
- 通常の 3 つのコントロール ボタン (上記以外の場合はおそらく機能します)
- サイズ変更可能 *
- タイトルバー領域を使用してドラッグ可能 *
- 半透明※
- クロムとウィンドウの間に「コントロール」の境界線がありません *
解決策について私が何をする必要があるかを知っていただくために、その洗濯物のリストについてのみ言及します。私は .Net 4.5 を使用しています。これSystem.Shell.ChromeWindow
は、フレームワークに含まれていることを意味しますが、見つけることができるすべてのチュートリアルで言及されている古いバージョンとは少し異なるようです。
誰かが私を正しい方向に向けることができますか?
c# - WindowChrome で使用すると、ウィンドウ テンプレートの枠線マージンが無効になる
WindowChrome
ライブラリのクラスをチェックアウトしていましたSystem.Windows.Shell
(v 3.5.41019.1)。テンプレートを作成しようとすると、テンプレート内の要素Window
のマージンは効果がないようです:Border
その理由は何だと思いますか。一部の人々が次のようなものを使用しているのを見たので、私はそれを疑問に思っています*:
しかし、私のテストでは何の効果もなかったので、これを行うポイントは何でしょうか?
(*) それが使用される場所の 1 つは、CodePlexのModernUIプロジェクトです。
編集: Aero をオンにした Windows 7 でこれをテストしました。
編集 2: Aero をオフにしても同じです。
wpf - Windows 8.1 で WindowChrome を使用するとタスクバー アイコンが消える
Windows 8.1 で独自のスタイルの WPF ウィンドウに問題があります。デフォルトのウィンドウのドラッグ動作用に、WindowChrome を使用してシンプルな透明な WPF ウィンドウを作成しました。
Windows 8.1 の設定:
- 拡張デスクトップを備えた 2 台のモニター
- タスクバーはプライマリ デスクトップでのみ表示されます
再現:
- WPF アプリケーションを起動する
- セカンダリ スクリーンのウィンドウを移動する
- セカンダリ スクリーンのウィンドウを最大化します (たとえば、ウィンドウを一番上にドッキングします)。
- ウィンドウをセカンダリ スクリーンからプライマリ スクリーンに復元してドラッグする
--> マウスがプライマリ画面に入ると、タスクバー アイコンが消えます!
同じ再現をもう一度行うと、アイコンが再び表示されます。
.NET 4.5 または .NET 4.5.1 も使用しようとしました。
誰でもこの問題を説明できますか?
ありがとうございました!
c# - カスタム ウィンドウ クロムへのメニューの追加
私は基本的に、カスタム ウィンドウ クロムについて投稿されたすべての質問を読み、いくつかのライブラリも見つけました。
それでも、私が達成したいことに対する最良の解決策は何なのかわかりません。デフォルトのクロムを削除したいのですが.NET4
、カスタム クロムの置換にメニューを追加できるようにしたいと考えています。私はPhotoshop CS6
クロムのようなものが欲しいし、それもよく見えるようにしたいWindows XP
. 私にとって最良のアプローチ/ライブラリは何ですか?
wpf - WPFMessageBox の「ヘッダー」のスタイリング
MsgBox のスタイルを設定する必要があるため、カスタム WPFMessageBox (wpfmessagebox.codeplex.com/) を使用しようとしました。すべてのファイルをプロジェクトにコピーし、ウィンドウにスタイルを追加しました
この後、WPF メッセージボックスは次のようになります: http://imgur.com/amw0eqw,IoqQyPY#0
しかし、そのスタイルの通常の Windows は次のようになります。
http://imgur.com/amw0eqw,IoqQyPY#1
WPFMessageBox に二重の「ヘッダー」があるのはなぜですか? また、スタイル付きのものは、通常のウィンドウのようにウィンドウ クロームを介してドラッグすることはできません。スタイルが正しく適用されないように WPFMessageBox と何が違うのですか?
助けてthx
編集:正常に動作する他のウィンドウのコードは次のとおりです