astel-labs.net

C#などのプログラミングTipsや雑記をつらつらと書くかもしれないブログです。

  • Home
RSS
Category Archives: WPF

WPF – SnippingTool っぽい物を作ってみた

Posted on 2012年7月21日 by Nymphaea
No Comments

SnippingTool ってなんだろう? と思う方も多いのかもしれませんが、「Microsoft 拡張パック for Windows XP Tablet PC Edition」やStarter と Home Basic を除くエディションの Windows Vista と Windows 7 に標準で含まれている、指定した画面上の部分的な範囲のスクリーンショットを切り取るツールです。

こんなツール。通常はスタートメニューの「アクセサリ」直下にあります。

このツールを実行してみるとわかるのですが、以下のような感じで簡単にスクリーンショットをとることができます。
マウスで切り取りたい範囲をドラッグすると赤枠で囲まれた範囲が透過します。

これと同様の機能が Excel 2010 にもあります。
この機能には大変お世話になっています。

 

で、これらのツールを使っていて矩形の中を透過させるにはどうすればいいのかをふと考えて、だいぶ前にサンプルとしてコードを組んでみたものです。
WPF を使うことで、ものすごく簡単にこのようなことができることがわかると思います。

Read more …

Categories: C#, WPF, プログラミング

WPF – 文字の縁取りをする

Posted on 2012年5月6日 by Nymphaea
No Comments

結構前に WPF で文字の縁取りについて話題にしたことがありましたが、その後 MSDN のサンプルコードを基に私なりに実装を行って利用していたのですが、つい最近海外のサイトを巡っていた際、スマートな方法で文字の縁取りをしているサンプルコードを見つけたため紹介します

(アクセス解析でも、検索ワードが「縁取り」でこのサイトに来る方が意外と多いようでした)

 

ちなみに、サンプルを実行すると以下のようになります

 

Read more …

Categories: C#, WPF, プログラミング

WPF – TextBlockでのURLアドレスの検出とHyperlinkの改行

Posted on 2012年5月3日 by Nymphaea
No Comments

DolChatMonitor で実装した後にサンプル公開用に準備をしていたのですが、公開用に機能のみを切り貼りしてからリファクタリングをするつもりがつい面倒になってそのまま放置していたのですが、ちょうど GW になったのでリファクタリングしないで(!)そのまま公開することにしました

WPF の TextBlock はかなり高機能なコントロールなのですが、内部的にそれなりに面倒な処理をしなければならないので、意外と単純なテキスト表示以上のサンプルは見かけません。

そこで、今回はタイトルの通り TextBox に入力した文字列から URL アドレスの検出と、Hyperlink の改行を行います
完成したイメージは以下のようになります

例では TextBlock の Hyperlink を MouseOver の状態でスクリーンショットを撮ったため赤く表示されています
また、HyperLink は URL アドレスとして検知している範囲でであればいくらでも改行できます

Read more …

Categories: C#, WPF, プログラミング

WPF – クライアント領域にグラス効果を適用する

Posted on 2011年4月15日 by Nymphaea
No Comments

今回も海外サイトを眺めていた時に見つけたサンプルになります

ただ、海外のサイトも断片的な情報しかなかなか見つからなかったため、ほかのサイトやMSDNを巡ってそれっぽい感じのサンプルに作り直してみました

サンプルの見た目はこんな感じ

 

 

サンプルで意外と面倒だったのは、ウィンドウアイコンやウィンドウタイトルの配置でした…

見つけたサンプルではアイコンが純粋なボタンスタイルで配置されていたり、タイトルの背景にブラー的なエフェクトがかかっていなく背景が黒いと見難かったりしたので、適当にそれっぽく見えるように追加してみました

タイトルの背景が若干白っぽく浮いて見えるようにスクリーンショットを撮ってみましたが、あんまりわからないですね…

 

Read more …

Categories: WPF, プログラミング

WPF – StatusBarItemの右寄せ

Posted on 2011年4月10日 by Nymphaea
No Comments

お久しぶりです!
ここずっと色々と忙しいうえに、家でネット環境が使えない状態が続いているため更新ができない言い訳が(ry

 

WPF を利用して困ることの一つで、 WindowForms では出来ていたことが、WPF ではどうやるのかわからないことが多々あります

その一つとしてステータスバーやツールバーの右寄せ方法がわからない! ということがあるはず…

わたしはステータスバーについては、StatusBarItem 要素に FlowDirection プロパティを設定することで疑似的に右寄せを行っていたのですが、海外のサイトを見ていた時に StatusPanel コントロールは内部的に DockPanel コントロールを作成し、StatusBarItem オブジェクトをその中に配置しているという記事を見つけました

 

 

Read more …

Categories: WPF, プログラミング

WPF – 文字の縁取り方法

Posted on 2011年1月20日 by Nymphaea
No Comments

昨年末からずっと、SharePoint 2007 から SharePoint 2010 への移行作業に追われ、開発にいたころ以来久しぶりの忙しさでした・・・(まだ作業は終わっていませんけど)

うちの会社はIT系企業ではないので、そもそも SharePoint で必要とされるソフトウェア関連の知識を持った人が乏しい為、Office InfoPath のフォームの作成から、データベースの構築、データアクセス用 web サービスの作成、サーバーファーム構成を含めたネットワーク構成の構築、IISサーバー設定と、ほぼすべての作業を1人でする羽目に・・・

外部に出せば数百万円する作業をこなしているわたしに、会社はボーナスを出せばいいと思います!!

 

 

とまあ、わたしの愚痴は置いといて(今回の記事は書くことがあまりなかったので・・・)、
SharePoint でウンウンと頭を悩ませているとき、別の調べものの最中に偶然見つけたサンプルコードに、いままでずっと頭を悩ませていた文字の縁取りに使える手法を見つけました!
(むしろ、なぜ気づかなかった? というレベルの内容です・・・)

ともあれ、サンプルで書いたコードを実行するとこんな感じになります

↑正しくはドロップシャドウです・・・ もちろんワザとですよ?

 

Read more …

Categories: WPF, プログラミング

WPF – トグル表示可能なボタンの作成

Posted on 2010年11月29日 by Nymphaea
No Comments

最近よく聞かれるので、そのメモです

 

WindowsForms でフォームを作成した際には、ツールバーメニューのボタンをトグル表示可能(ON と OFF を切り替えられるよう)なボタンとして作成する際には、ツールバーボタンのプロパティを設定することで作成することができましたが、WPF ではボタンをツールバーに配置しても、トグル表示のプロパティが見つかりません

実は、WPF ではボタンクラスにトグル表示のプロパティは用意されていません!

 

トグル表示を行うには、xaml のボタンタグを直接編集するかコードで直接コントロールを挿入する、VisualStudio の「ツールボックス」に専用のコントロールを配置するの何れかになります

 

Read more …

Categories: C#, WPF, プログラミング

WPF – タイマースレッドからWindow内のコントロールを操作

Posted on 2010年7月5日 by Nymphaea
No Comments

WindowsForms アプリケーションから WPF アプリケーションに移行する際、
タイマースレッドを使って処理を行い、その結果をメインスレッドのコントロールに結果を表示するなどをしていた場合に、Form から派生したメインウィンドウの BeginInvoke メソッドを使ってタイマースレッドからメインウィンドウのコントロールを操作していたと思います

しかし、WPF の Window クラスには BeginInvoke メソッドや Invoke メソッドは無いため、Window クラスの Dispatcher を利用してメインスレッドを操作する必要があります

Read more …

Categories: C#, WPF, プログラミング

WPFで簡単なウィザードを作成する

Posted on 2010年6月29日 by Nymphaea
No Comments

WPF では、標準でウィザードを作成することはできず、Win32API を利用するなどの必要があります

しかし、WPF では「ナビゲーション」や「ページ」といった機能があるため、これらを利用して簡単なウィザードを作成することができます

 

ページを利用して再利用可能な UI を作成する方法としては、

1.Window の代わりに、直接 Page を呼び出す
2.Window 上に Frame を配置して、Frame に Page を表示する
3.PageFunction に Page を配置する
4.NavigationWindow に Page を配置する

など、いくつか方法があります

 

今回は、4.の NavigationWindow を利用した方法でウィザードを作成してみます

 

Read more …

Categories: C#, WPF, プログラミング

WPF – LinkLabelの作成

Posted on 2010年5月31日 by Nymphaea
No Comments

WindowsFormsからWPFに移行する際に、いくつかのコントロールがWPFでは実装されていないため戸惑うことがあります

 

Microsoftのページで対応表が公開されていますが(ページを探すのが面倒だったので自力で探してみてください・・・)、WPFでは実装されていないLinkLabelについて、簡単なサンプルを作成してみます

LinkLabelで検索するといくつかのサンプルが見つかると思いますが、わたしは今回作成するサンプルが一番簡単に実装できると思います

こんな感じ

 

Read more …

Categories: C#, WPF, プログラミング

 

Previous Entries
  • 2023年3月
    日 月 火 水 木 金 土
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
    « 3月    
  • 最近の投稿

    • raspberry pi に nginx をセットアップする
    • VSCode を日本語化する
    • raspberry pi に VSCode をインストールする
    • WindowsのプロダクトIDを取得する
    • SQL Server – money型とdecimal型を併用した金額計算
  • アーカイブ

    • 2020年3月
    • 2016年12月
    • 2014年6月
    • 2014年5月
    • 2013年7月
    • 2012年11月
    • 2012年7月
    • 2012年5月
    • 2012年4月
    • 2011年4月
    • 2011年1月
    • 2010年11月
    • 2010年10月
    • 2010年9月
    • 2010年8月
    • 2010年7月
    • 2010年6月
    • 2010年5月
    • 2010年4月
  • カテゴリー

    • C#
    • jQuery
    • OpenCV
    • raspberry pi
    • SharePoint
    • Silverlight
    • SQL Server
    • WCF
    • WPF
    • プログラミング
    • 未分類
    • 雑記
© astel-labs.net. Proudly Powered by WordPress | Nest Theme by YChong

このブログ内で公開されているソースコードおよびサンプルプログラムに関わるライセンスはすべて修正BSDライセンス(New BSD License)として公開しています。
但し、サンプルプログラムに含まれる外部アセンブリが同様のライセンスとは限りませんので、利用する前に必ずすべてのライセンスの確認を行ってください。