カテゴリー「* プログラミング ( WPF )」の51件の記事

2018年3月28日 (水)

【VS2017 15.7pv2】 XAML のランタイム ツールに 「ヒートマップ」 が増えた

先週に公開された Visual Studio 2017 Version 15.7 Preview 2 ですが、 デバッグ中に XAML 画面の上端に表示される 「ランタイム ツール」 (runtime tools) にこんなボタンが増えてます。

20180328_vs2017_15_7pv2_01b1

"Display Heatmaps" (ヒートマップを表示する)
なんでしょう、 これ? ドキュメントが見当たらないっぽいのですが、 画面のどの部分に CPU / GPU の負荷が掛かっているのかをビジュアライズしてくれるってことかな。

次からの3枚は、 OFF / ON にしたところ / ON 状態で ListView 上をマウスホバーしたところ

20180328_vs2017_15_7pv2_00

20180328_vs2017_15_7pv2_01a

20180328_vs2017_15_7pv2_02a

ON にしておくと、 なんだかしょっちゅうウィンドウ全体が真っ赤になります。 まるで3倍速くなったかのようですが、 もちろん実行速度は変わりませんw (っていうか Heatmaps 処理が噛む分、 遅くなってるはず)


| | コメント (0) | トラックバック (0)

2011年8月24日 (水)

[VS2010] (続) オプション 「生成されたコードから結果を表示しない」 の挙動不審

Visual Studio 2008 では、 コード分析のオプション 「生成されたコードから結果を表示しない」 にチェックを入れても、 フォームやテンプレートでは、 コード分析のエラーや警告は抑制されません。 これは Visual Studio の不具合ではなく、 MSDN の翻訳ミスであることを以前に書きました。 → 「[VS2008] オプション 「生成されたコードから結果を表示しない」 の挙動不審

Visual Studio 2010 では、 どうなったでしょうか?
MSDN フォーラム で翻訳を修正しておきますよ~、 と回答していただいた通り、 MSDN のドキュメントは訂正されています。

方法: マネージ コード プロジェクトのコード分析を構成する
Visual Studio 2010

メモ
コード分析のエラーおよび警告がフォームやテンプレートで表示される場合、このオプションを使用しても、生成されたコードからこのエラーおよび警告の出力は抑制されません。 フォームまたはテンプレートのソース コードは表示することも保持することもできます。

※ あ、 「保持する」 は maintain の誤訳だけど、 分かるよね。そう思って、フォーラムで突っ込まなかった。まぁ、 「メンテする」 って日本語になってるし f(^^;

…これで終わりかというと。 WPF では Visual Studio の挙動が変わっていました。
Visual Studio 2010 で WPF のプロジェクトを作ると、 自動生成された MainWindow.g.cs には GeneratedCode 属性が付くようになりました。

[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public partial class MainWindow : System.Windows.Window, System.Windows.Markup.IComponentConnector {

これにより、 WPF 4 のフォーム (System.Windows.Window を継承したクラス) では、  「生成されたコードから結果を表示しない」 オプションを使うと、 エラーと警告の出力が抑制されることになります。
※ Connect で 「WPF:コード分析で余計なソースファイルが分析対象となる」 (2009/09/02) というレポートが上がっており、 それに対応した結果のようです。

またしても、 ドキュメントと実際がズレてしまいました。
しかしそれよりも、 自動生成されたコードのメソッド単位に属性を付けてくれれば良かったのですが、 クラスに付けてくれたのがマズいです。 これでは WPF 4 のフォーム内にゴリゴリ書かれてしまったコードが、 分析の対象にならないと思われます。

なお、 Visual Studio 2010 でも、 WPF 3.5 を選ぶと、 従来通り GeneratedCode 属性は付かないようです。 WinForm も同様に、 付きません。

| | コメント (0) | トラックバック (0)

2010年12月 4日 (土)

う~む… .NET Framework 4 になっても、 IE を操作するのはめんどくさいままなのか!

C# と .NET Framework の世界はどんどん楽になるので、 Windows 上での開発はみんなそうだと思っていると… WebBrowser コンポーネントの扱いはそうでもなかったらしい orz

WebBrowser コンポーネント (つまり、 IE  の心臓部を COM で包んだ ActiveX コンポーネント) を貼りつけたクライアント プログラムを久々に書こうと思って調べたんだけど。
イベントを取るには、 .NET Framework 4 になっても、 あいかわらず昔と同じやり方しかないみたい。
めんどくさいんだな、 これが。 f(^^;

20101204_contextmenuevent01

WPF で、 やってみた。

続きを読む "う~む… .NET Framework 4 になっても、 IE を操作するのはめんどくさいままなのか!"

| | コメント (0) | トラックバック (0)

2010年5月27日 (木)

MSDN マガジン、読んでますか!?

MSDN マガジンの 5月号が出ました。
今月も、 読みたい記事がテンコ盛りです。 いくつかタイトルを抜き出しておきますね。

私自身、 なかなか読めていないので偉そうなことは言えないのですが、 あえて言ってみたりする。

  みなさん、 MSDN マガジンを読んでますか~?

あんまりアクセスが少ないようだと、 また機械翻訳に戻されちゃうかもしれませんよ~。
現在の人手による翻訳は昨年10月号から、 こんどの 6月号までの予定だそうです。 7月号からどうなるかは、 まだ不明の模様。

ちなみに、 今年に入ってから 4ヶ月の間で人気のあった記事ベスト 10 を中の人がブログに書いてくださってます。 ⇒ 「開発者のみなさまのために: MSDN マガジン - 人気コンテンツトップ10 !」 (26 May 2010)

# 「Model-View-ViewModel デザイン パターンによる WPF アプリケーション」 (2009年2月号) がトップ、 っていうのは納得です。 WPF / Silverlight やる人は必読!

| | コメント (2) | トラックバック (0)

2010年2月20日 (土)

[WPF] 盾アイコン付きのボタンを作る (続)

先月 28日に、 「簡単に出来るよ~」 と書いたあとで、 サンプルコードを作ったんだけど、 記事にするのをすっかり忘れてました f(^^;

Stockiconsample20100129a

Windows Vista 以降用意された、 システムが持っているアイコン (Shell Icon) を取り出す API SHGetStockIconInfo を使ってリソースを取ってくるコード VistaBridge.UI.StockIcons クラスが Yves Dolce で公開されていますので、 それを使います。

そうしたら、 xaml の先頭で

xmlns:vbu="clr-namespace:VistaBridge.UI"

として、 その名前空間を取り込んでおき、 Image のソースとして

Source="{x:Static vbu:StockIcons.Shield}"

と指定してあげるだけです。

続きを読む "[WPF] 盾アイコン付きのボタンを作る (続)"

| | コメント (0) | トラックバック (0)

2010年1月28日 (木)

[WPF] 盾アイコン付きのボタンを作る

MS Connect (ID=525033) 経由、 Windows Live: Rob Relyea "Creating a Button with the UAC Shield icon using WPF & other StockIcons" 経由、 Yves Dolce: "StockIcons for Windows Presentation Framework?"。

Windows Vista で、 システムが持っているアイコン (Shell Icon) を取り出す API SHGetStockIconInfo が用意されました。 これを使って盾アイコンのリソースを引っ張ってきて、 Image のソースに渡してやれば出来上がり、 なんですが… どーにもめんどくさそう。 f(^^;

この記事には、 その面倒なところをやってくれる VistaBridge.UI.StockIcons クラスのソースコードが掲載されています。 ので、 あとは XAML エディター上でちょろっと書くだけで完了! (^^)

(2010/2/20 追記)
サンプルコードはこちら ⇒ [WPF] 盾アイコン付きのボタンを作る (続)

| | コメント (0) | トラックバック (1)

2010年1月21日 (木)

[.NET] WPF は ILMerge できない (続)

正確には、 画面の XAML 定義が入っている複数のアセンブリを ILMerge でマージすると実行時エラーになる、 です。

Microsoft Connect: FeedbackID=525042
WPFのプログラムをILMergeでまとめると、実行時にエラーになります
2010/01/14

この現象は私も経験していて、 まぁそういう仕様なんだと理解しています。 画面だけ 1プロジェクトに集めてしまえばいいわけで、 ASP.NET と同じようなもんだと。
今回、 気になってもう少し探してみたところ、 どうやら XAML をコンパイルして出来上がる BAML ファイルのフォーマットが非公開なので、 ILMerge が (に限らず、 他のマージツールも) 対応できない、 ということみたいです。

続きを読む "[.NET] WPF は ILMerge できない (続)"

| | コメント (0) | トラックバック (0)

2009年12月28日 (月)

[.NET] フィードバック その後 - WPF: テキストボックスに Maxlength の長さの日本語文字列が入力できない

フィードバック (FeedbackID=332165) したのは、 もう 1年半以上も前のこと。
その後、 同年 11月に、 .NET 4 で直すよ~ という回答をいただいてました。
.NET 4 beta が出てからずいぶん経っちゃいましたが、 ようやく確認してレポートしました。
# 10分もあれば確認できるんだけど。 なかなかやれない… f(^^;

ちゃんと直ってました (^^)

・ WPF のテキストボックスに MaxLength=3 を設定する。
・ CASE A: IME を使って「日本語」と入力を試みる。 (私はローマ字入力です。)
  × .NET 3.5 SP1: 「にほn」
  ↓
  ○ .NET 4 beta2: 「日本語」
・ CASE B: IME ON で "123" と入力し、 変換キーを複数回押す
  × .NET 3.5 SP1:  候補 "百二十三" (4文字) が選択された状態になると、 IME の候補ウィンドウがおかしくなる。
  ↓
  ○ .NET 4 beta2: 問題なく 3文字以下の候補を自由に選択できる。 (4文字以上の候補は選択できなくなっていました。 どうやってるんだろ? (@@; )

なお、 VS2010beta2 を入れた状態でも、 .NET 3.5 では直ってませんでした。 WPF でテキストボックスに MaxLength を設定するのであれば、 英数字のみの入力とするか、 .NET 4 を使うか、 どちらかということになりそうです。

あと、 まだ確かめてないのですが、 ユーザーが IME での変換を確定させた (IME の変換ウィンドウを閉じた) ということが、 コードから分かるようになっているのかもしれません。

| | コメント (0) | トラックバック (0)

2009年12月 8日 (火)

[VS2010] beta2 で、 WPF と Silverlight のデザイナーのパフォーマンスを上げる方法

テスト未完の機能向上が beta2 には入っていて、 デフォルトでは OFF なんだそうな。
けど、 ON にすると速くなるかわりに、 落ちやすくなるらしいw

bharry's WebLog: Some WPF Designer Performance Improvements ( December 07, 2009 )
MSDN Forum: Visual Studio WPF Designer: Improving the Start-up Performance of the WPF and Silverlight Designer in Visual Studio 2010 Beta 2 ( October 27, 2009 )

| | コメント (0) | トラックバック (0)

2009年12月 1日 (火)

[.NET3.5] MS のチャートコントロール、プラットフォーム別に 4種あります (メモ)

Microsoft から出ている、 プログラムからグラフやチャートを表示させるためのコントロール 4種。 WPF / Silverlight ( WPF/E ) 用の追加コントロールは CodePlex で公開されるようになったんだけど、 意外と知られていないようなのでメモ。

【 WinForm / ASP.NET 用 】
・ Microsoft Download Center: Microsoft Chart Controls for Microsoft .NET Framework 3.5
  ASP.NET および Windows Forms Chart Controls for .NET Framework 3.5 SP1
・ @IT: [ASP.NET]チャート・コントロールを使うには?(環境設定)
・ kamolog : .NET Framework用チャートコントロール

【 WPF 用 】
・ CodePlex: WPF Toolkit
[.NET] WPF Toolkit に、 グラフ チャートが追加
・ Delay's Blog: WPF Charting: It's official!

【 Silverlight 用 】
・ CodePlex: Silverlight Toolkit
・ CodePlex: Silverlight Toolkit Overview, Part 2 - Charting
Silverlight.net: Silverlight Toolkit Samples

※ ただし、 WPF / Silverlight 用ともに、 チャートの "Quality Bands" ( 品質帯 (?) ) はPreview ( プレビュー ) となってます。

| | コメント (0) | トラックバック (0)

より以前の記事一覧