2011-01-01から1年間の記事一覧
A. 状況によっては Window のハンドルを取得したい場合があります。そのような場合は WindowInteropHelper クラスの Handle プロパティを使えばハンドルを取得できます。 VB.NET Dim helper = New System.Windows.Interop.WindowInteropHelper(Me) MessageB…
A. 以下のようにApplication.Current.Windows コレクションを走査して、アクティブな Window を検索すればいいです。 VB.NET Application.Current.Windows.OfType(Of Window).SingleOrDefault(Function(w) w.IsActive) C# Application.Current.Windows.OfTy…
よく色んなアプリケーションで 「今後このダイアログボックスを表示しない」 チェックボックス付きメッセージボックスを見かけますが、どうやって実装してるんだろうと前から思ってました。実に様々なソフトで見かけるので OS が何らかの API を提供してるに…
A. Mouse.OverrideCursor プロパティを使ってアプリケーションのカーソルを設定できます。 MVVM パターンだと ViewModel から View の操作をしないため、コマンド実行時にどうやって Window のマウスカーソル変更すんだろうとしばらく考えてましたが、いろ…
プロジェクトで NetAdvantage Reporting を使った帳票を開発中ですが、後で絶対忘れそうなので備忘録としてざっと纏めてみました。チュートリアルじゃなくあくまで自分用の備忘録ですが、NetAdvantage Reporting の情報はネット上まだ少ないようなので、なん…
GrapeCity 社の InputMan for WPF に含まれている GcValidationIndicator を使うと簡単です。検証を行う要素名を ElementName プロパティに設定するだけです。 <im:GcValidationIndicator ElementName="GcNumber1"/> 以下、某所に上げたサンプルです。二つの数値コントロールの値を乗算した結果が 12 を超えると</im:gcvalidationindicator>…
郵便番号検索API を利用して郵便番号から住所を検索するクラスを考えてみました。 郵便番号検索API は無料のサービスで、個人・法人・商用・非商用問わず利用できるたいへん有難いサービスです。ただし無償で公開されてるサービスですので、継続利用が保障さ…
A. Blend SDK の ChangePropertyAction ビヘイビアーを使用します。以下サンプルです。先日のエントリの XAML を改造し、TextBox を Button に変更しています。Button を左クリックすると ContextMenu を表示します。
A. ContextMenu を使用します。 以下、Livet を使った簡単なサンプルです。TextBox に ContextMenu を設け、右クリックでポップアップを表示、選択したメニューを TextBox に表示します。
なんか某所で、先日のエントリから話が発展して、かなり盛り上がってた(?)ようなので・・・ コードビハインドがどーのと言ってましたが、本来なら以下のようにすべきで、コードビハインド使う必要ないと思うんですがねぇ・・・。
本日はさらに踏み込んで、Livet が提供するメッセージングアクションのうち InformationDialogInteractionMessageAction ConfirmationDialogInteractionMessageAction OpenFileDialogInteractionMessageAction SaveFileDialogInteractionMessageAction の四…
昨日のエントリーのサンプルではつまらないという貴方に、さらに発展させた使い方を考えてみました。 たとえばこんな感じ。コードビハインドを使わずに、コンボボックスで選んだ操作を ViewModel のコマンド経由で実行します。 まず ViewModel のコードです…
本日のエントリーでは、Livet の Messenger 機能をチュートリアル風に公開してみます。これを使うと、画面の終了・最大化・最小化・標準化を、コードビハインドを全く書かずに操作することができます。今回は Visual Studio と Blend を使っています。Livet …
前回の記事 ガスコンバインドサイクル発電の推進により、原発は完全不要に! の続きです。今回はガスコンバインドサイクル発電の燃料である「天然ガス」について書きたいと思います。 週刊エコノミスト 10月10日 臨時増刊号 「エネルギー大転換 ― 世界の潮流…
A. スタイルで CellValuePresenter のテンプレートを設定し、表示したい Field の FieldSettings.CellValuePresenterStyle に指定します。
「原発を停止すると電力不足が起き、経済活動が停止してしまう」、と推進派はいいますが、とんでもない大嘘ですね。「いつものパン」があなたを殺す: 脳を一生、老化させない食事 (単行本)作者: デイビッドパールマター,クリスティンロバーグ,David Perlmutt…
ここ最近、原発関連の書籍を読んでいることは先日のエントリーに書きました。で、真剣に考えなければならない話は幾つもあるのですが、昨日東大アイソトープ総合センターの所長である児玉龍彦教授の「内部被曝の真実」を読んでいて、非常に胸を打つ箇所があ…
#まだ未完成ですが、随時追加・修正しながら公開中です。原発問題につき先日より各方面からさまざまな話を伺い、また自分でも勉強すべく様々な本を読んでみました。 原発のウソ (扶桑社新書)作者: 小出裕章出版社/メーカー: 扶桑社発売日: 2011/06/01メディ…
A. CellValuePresenter のスタイルを設定します。以下のサンプルのように、XAML 内で自身のレコードのセルを参照することができます。でも XAML 内で添字も使えたんですね。初めて知った時はかなり驚きました。
備忘録です。あとで気が向いたら記事に纏めるかもしれません。 Style.BasedOn プロパティを使えばスタイルの継承ができる。 関連記事 :WPFにあってSilverlight 2 Betaにないシリーズ「スタイルの継承」と「型指定によるスタイルの適用」 PasswordBox.Passwo…
先日のエントリ 「WPF で Google Map API を使ってルート検索してみる(Livet版)」 では、View のコードビハインドで WebBrowser.NavigateToString メソッドを呼び出してたわけですが、昨日 MSDN フォーラム見てたら、以前私がビヘイビア書いてたスレ見つけま…
昨日 Google Map API でルート検索するサンプルを公開しましたが、本日はさらに一歩進め、先日のサンプルの Livet 版を作ってみました。 Livet は純国産の MVVM インフラで、先日最新版 0.98RC が公開されました。前のバージョンから大きく変わったとのこと…
昨日も Google Maps API の記事を書きましたが、今日は一歩進めて WPF のWindow 上でルート検索するサンプルを作ってみました。先日から Google Maps API の調査をしてますが、スクリプト書いてるだけじゃ面白くないので、WPF の勉強も兼ねて MVVM パターン…
A. WebBrowser コントロールを使います。以下は NavigateToString メソッドを使ったサンプルです。Google Maps API の使い方については以下の記事を参考にさせて頂きましたが、たいへん判りやすいサイトで助かりました。 関連記事 :Google Maps入門(Google…
A. DataSource プロパティに DataView をバインドします。現在アクティブなデータは ActiveDataItem プロパティで取得・設定できます。以下、ViewModel を使った簡単なサンプルです。Model がないのでいわゆる MVVM パターンではありませんが、バインディン…
A. いささか凝った方法ですが、MultiDataTrigger と IMultiValueConverter を使って設定します。
A. FieldLayoutSettings.HeaderPrefixAreaDisplayMode プロパティを FieldChooserButton に設定します。 <igDP:XamDataGrid Grid.Row="1" BindToSampleData="True" > <igDP:XamDataGrid.FieldLayoutSettings> <igDP:FieldLayoutSettings HeaderPrefixAreaDisplayMode="FieldChooserButton" /> </igDP:XamDataGrid.FieldLayoutSettings> <…</igdp:xamdatagrid>
A. Field クラスを使って設定します。 データソースの列とバインドさせるには Field.Name プロパティに列名を指定します。Name プロパティに列名指定するのってやや気持ち悪い仕様になっててベンダーさんも認識してるようですが、WPF 1.0 くらいからの仕様…
A. XamDataGrid の目玉機能の一つで、これはかなり強力な機能なんですが、シーンによっては無効にしたいケースもあります。その場合、XamDataGrid.GroupByAreaLocation プロパティを None に設定します。 <igDP:XamDataGrid BindToSampleData="True" GroupByAreaLocation="None" /> 標準では「エリアごとのグループ化」機能が有効に</igdp:xamdatagrid>…
A. Style で CellValuePresenter.BorderThickness プロパティと CellValuePresenter.BorderBrush プロパティを設定します。以下のサンプルの場合、上下左右すべての BorderThickness を同じにすると、左右で重なるところが重複して描画されてしまい見苦しく…