WPF
A.昨日のエントリでは WPF のWebBrowserコントロールについて書きました。これ IE7という非常に旧いバージョンをベースにしてるので、ページによってはレイアウトが大きく崩れます。それを回避するのがレジストリ編集な訳なんですが、標準コントロールにも…
A.WPF の WebBrowser コントロールのIEのバージョンが 7 なのは有名なようですね。現状ではレジストリを編集するしか手はないようです。以下の記事では、レジストリの編集方法を紹介されてます。 関連記事:WebBrowser コントロールで使われている Internet…
A.以前のエントリで、XamDataGrid で絞り込み表示されてるレコードのみ抽出する方法を紹介しましたが、これ一つ落とし穴がありまして、要素の描画タイミングによるのか、正常にレコードを取得できない場合があったりします。関連記事:Q124. XamDataGrid で…
A.XamDockManager はペインを一元管理できるコントロールでして、ペインのドッキングやフローティング、タブや左右・上下の配置などを自在に配置可能なコンテナコントロールです。Visual Studio のIDE をイメージすれば判りやすいと思います。 ユーザーがペ…
A.以前、XamDataGrid でユーザーが操作した列の移動や並び替え、グループ化やソートを次回起動時用に保存したい場合、SaveCustomizations メソッドやLoadCustomizations メソッドを使えば、レイアウトの保存・読み込みが可能だという記事を公開しました。関…
A.以前、XamDataGrid でユーザーが操作した列の移動や並び替え、グループ化やソートを次回起動時用に保存したい場合、XamDataGrid.SaveCustomizations メソッドやXamDataGrid.LoadCustomizations メソッドを使えば、レイアウトの保存・読み込みが可能だとい…
A.いまさら感がひしひし漂うネタですが、まあコンセプトが周回遅れブログのため、その辺りは気にせずスルーでお願いできればと思います。 コントロールの Visiblity プロパティに、ビューモデル側の bool 型プロパティをバインドさせたいシーンは多いと思い…
A.昨日の記事に引き続き、またまた XamDataGrid ネタです。 XamDataGrid で、フィルターで絞り込まれているレコードのみを抽出には、各レコードの IsDataRecord プロパティで判定し抽出する必要があります。 以下、サンプルコートです。 前回もそうでしたが…
A.くそ忙しかったため、かなりご無沙汰しておりましたが、久々の XamDataGrid ネタです。 XamDataGrid で表示されている内容を Excel に出力したい場合、DataPresenterExcelExporter クラスの Export もしくは ExportAsync メソッドを使うといいです。この…
またまた備忘録です。Infragistics WPF で提供されてる XamComboEditor、これ実は二種類あるの知ってました?Infragistics.Controls.Editors.XamComboEditorとInfragistics.Windows.Editors.XamComboEditorです。 どういうコンセプトで二種類の XamComboEdit…
ちょっと多忙につき更新さぼってましたが、久々のエントリ、ちょっとした備忘録です。Application.Shutdown したのに処理が走っちゃうコードを見つけたので、Application の終了をどこで判定する調べてました。で、結論はこれ。 Shutdown 実行しても処理が続…
ここ最近、私が携わっているソフトを Surface Pro 4 で使いたいというお客様が増えてまいりました。マイクロソフト Surface Pro 4(i7/256GB/16GBモデル) Windowsタブレット[Office付き・12.3型] (キーボード別売・シルバー) TH2-00014出版社/メーカ…
XamDataGrid のカラムの外観や動作を定義する Filed クラスですが、細かい設定する場合 FieldSettings プロパティで定義するため、要素のネストが深くなるといういささか面倒な仕様のため、も少しなんとかなんないかなと、いつも思っておりました。例えば、…
A.アプリケーションクラス自体をカスタマイズしリソースにバインドさせることで、アプリケーションリソースの動的変更が可能になります。 昨日のネタを基に ViewModel を使わずリソースとバインドするようできないか、少し考えてみました。
A.アプリケーションリソースにビューモデルを用意し、リソース定義にバインドさせることにより動的変更が可能になります。 先日のネタを基に ViewModel を使ってバインドできるようならないか、少し考えてみました。
A.App.Current.Resources で、App.xaml に定義したリソースを参照できるので、リソースの中身をコードビハインドでごっそり入れ替えてしまえばいいです。 久々のWPFネタです。最近某所から要求があったので、少しサンプルを考えてみました。
MVVMパターンでよく問題となるのが、画面遷移 の問題です。 単一画面であれば、View と ViewModel をバインド機構を使って疎結合にできるため、なんら問題は生じませんが、画面遷移を行う場合、ViewModel から Window を起動すると View - ViewModel 間で密…
A.DataTrigger を使って、MenuItem.ItemsSource の中身をごっそり入れ替えてしまうという手があります。これならコードビハインドは不要です。 例えば以下のようなメニュー構成になっているとします。 これを状況により以下のような構成にしたり こんな構成…
昨日のエントリの発展版です。ネットを検索してると WPF のドラッグドロップでビヘイビアを使用しているサンプルがかなり目につきます。やはり汎用性を考えるなら、イベントハンドラでゴリゴリコーディングするより、ビヘイビアにした方が遥かに便利だと思い…
昨日のエントリの続きで、今回は ListView です。前回は単一の ListBoxItem を移動するだけでしたが、今回は複数のアイテムを移動する処理を考えてみました。で、色々考えた結果こんな実装になりました。 今回の実装で少し考えさせられたのが、 IDataObject.…
ドラッグドロップは殆ど実装したことがなかったので、各所のサンプル見ながら勉強中です。ひとつのアイテムを移動させるだけなら、PreviewMouseLeftButtonDown・DragOver・Drop の三つのイベントだけで実装できることがわかった。 以下サンプルです。
A.DataTemplete を使ってリストボックスの項目表示をカスタマイズし、コマンドをバインドします。DataTemplete は XAML 系アプリケーションならではの機能で、Windows Forms では実現不可能な極めて柔軟なインターフェイスを提供します。以下、MSDNの関連記…
昔のエントリで公開したドロップダウン付き TextBox、ドロップダウンの復帰制御がいささか気に入らなかったため、少し修正しました。以前はTogguleButton をクリックするとドロップダウンが表示されっ放しでしたが、今回はフォーカスが離れると自動的に閉じ…
A.例えば ActiveReports Viewer に PDF出力用のアイコンを追加したいというニーズがあるとします。この場合、コードビハインド内で Viewer のビジュアルツリーを辿って ToolBar のインスタンスを取得、PDF用のボタンを追加するという方法もありますが、あま…
#2014/12/10 : VBユーザー向けに大幅に編集しなおしました。 GrapeCity さんの ActiveReports for .NET 7.0J を WPF で使うチュートリアル、VB編です。基本的に前回と内容は同じで、コードのみVBで実装します。グレープシティ ActiveReports for .NET 7.0J …
GrapeCity さんの ActiveReports for .NET 7.0J を WPF で使うためネットで資料を探してみたら見つからなかったので、さくっとチュートリアルっぽいものを書いてみようと思います。グレープシティ ActiveReports for .NET 7.0J スタンダード 1開発LP出版社/…
ちょっと某所で質疑があがってたので、MVVMパターンにおける画面とユーザーコントロールの連携について考えてみました。 お題をかいつまんで言えば、こんな話です。 メインウィンドウと二つのユーザーコントロールが存在し、それぞれプロジェクトを分けて管…
先日来、某所で WeakEvent パターンの話題があがってます。そこで Livet の弱参照パターンの話もちょろっとしてみたわけですが・・・でも VBユーザーだとどうだろう・・・VBユーザーの多くはラムダ式馴染みないし、EventHandler をパラメータで渡すコードが…
A.全くニーズはないと思いますが(汗)、とりあえず備忘録としてエントリを起こしました。Forms から WPF への移行期間に、同一プロジェクト(もしくはソリューション)内で Form と Window が混在する場合があります。*1 親 Window から子 Form を ShowDialog …
A.ソリューション全体で画面のアイコンを統一管理したいというニーズがあったため、この記事を起こしました。 まず単一の画面であれば、以下のようにWindow.Icon プロパティにパスを指定するだけで事足ります。 <Window Icon="/hoge.ico" /> 少し大きなプロジェクトになると、アイコン</window>…