.NET

ListBox 間でドラッグドロップして項目を移動するサンプル

ドラッグドロップは殆ど実装したことがなかったので、各所のサンプル見ながら勉強中です。ひとつのアイテムを移動させるだけなら、PreviewMouseLeftButtonDown・DragOver・Drop の三つのイベントだけで実装できることがわかった。 以下サンプルです。

Q118. ListBox の項目にボタンを表示し、ビューモデルのコマンドとバインドさせたい

A.DataTemplete を使ってリストボックスの項目表示をカスタマイズし、コマンドをバインドします。DataTemplete は XAML 系アプリケーションならではの機能で、Windows Forms では実現不可能な極めて柔軟なインターフェイスを提供します。以下、MSDNの関連記…

ドロップダウン付き TextBox 修正版

昔のエントリで公開したドロップダウン付き TextBox、ドロップダウンの復帰制御がいささか気に入らなかったため、少し修正しました。以前はTogguleButton をクリックするとドロップダウンが表示されっ放しでしたが、今回はフォーカスが離れると自動的に閉じ…

Q117. ActiveReports WPF 用 Viewer をカスタマイズしたい

A.例えば ActiveReports Viewer に PDF出力用のアイコンを追加したいというニーズがあるとします。この場合、コードビハインド内で Viewer のビジュアルツリーを辿って ToolBar のインスタンスを取得、PDF用のボタンを追加するという方法もありますが、あま…

ActiveReports for .NET 7.0J を WPF で使うチュートリアル(Visual Basic 編)

#2014/12/10 : VBユーザー向けに大幅に編集しなおしました。 GrapeCity さんの ActiveReports for .NET 7.0J を WPF で使うチュートリアル、VB編です。基本的に前回と内容は同じで、コードのみVBで実装します。グレープシティ ActiveReports for .NET 7.0J …

ActiveReports for .NET 7.0J を WPF で使うチュートリアル

GrapeCity さんの ActiveReports for .NET 7.0J を WPF で使うためネットで資料を探してみたら見つからなかったので、さくっとチュートリアルっぽいものを書いてみようと思います。グレープシティ ActiveReports for .NET 7.0J スタンダード 1開発LP出版社/…

NameOf オペレーター

昨日、ついに Visual Stuido 2015 Preview がリリースされました。多くの新機能が搭載され、ニュースやブログで様々な新機能が搭載されてます。特に便利だと思うのが C#6.0 から追加される nameof operator です。nameof 演算子によりタイプセーフが可能にな…

WPF で画面とユーザーコントロールの連携を考えてみた

ちょっと某所で質疑があがってたので、MVVMパターンにおける画面とユーザーコントロールの連携について考えてみました。 お題をかいつまんで言えば、こんな話です。 メインウィンドウと二つのユーザーコントロールが存在し、それぞれプロジェクトを分けて管…

VisualBasic で Livet の LivetWeakEventListener を使う

先日来、某所で WeakEvent パターンの話題があがってます。そこで Livet の弱参照パターンの話もちょろっとしてみたわけですが・・・でも VBユーザーだとどうだろう・・・VBユーザーの多くはラムダ式馴染みないし、EventHandler をパラメータで渡すコードが…

Q116. Form.ShowDialogのパラメータに Window を渡したい

A.全くニーズはないと思いますが(汗)、とりあえず備忘録としてエントリを起こしました。Forms から WPF への移行期間に、同一プロジェクト(もしくはソリューション)内で Form と Window が混在する場合があります。*1 親 Window から子 Form を ShowDialog …

Q115. ソリューション全体でアイコンを統一管理したい

A.ソリューション全体で画面のアイコンを統一管理したいというニーズがあったため、この記事を起こしました。 まず単一の画面であれば、以下のようにWindow.Icon プロパティにパスを指定するだけで事足ります。 <Window Icon="/hoge.ico" /> 少し大きなプロジェクトになると、アイコン</window>…

Q114. XamComboEditor のアイテムのマージンを任意に設定したい

A.このところベンダーさんのコントロールに偏り過ぎた内容のため FAQと名乗っていいのかかなり怪しくなってきましたが(汗)、そこは個人ブログの備忘録ということでお許し頂きたく思います。 前回に引き続き XamComboEditor の話です。以下の画像を見てのと…

Q113. XamComboEditor のチェックボックスをバインドしたい

A.またまた備忘録。Infragistics社のWPFコントロール群に含まれているコンボボックス「XamComboEditor」ですが、CheckBoxVisibility プロパティを True にすると「チェックボックス付きコンボボックス」に変わります。 これ、なかなか便利そうなんですが、…

Q112. XamDataGrid でネストされたレコードのヘッダをデザインする

A.昨日のエントリに引き続き、ネストレコードに関する備忘録です。XamDataGrid でネストレコードが存在する場合、ネストレコード側のヘッダのみ変更する方法について色々調べたところ、二つ目のFieldLayout 内でスタイルを設定すればいいことがわかりました…

Q111. XamDataGrid でネストされたレコードのフィールドを設定する

A.備忘録です。XamDataGrid でネストされたレコードが存在する場合、どうすればラベルや列幅が設定できるか判らなかったのですが、XamDataGrid.FieldLayouts で二つ目の FieldLayout に設定すればいいことがわかりました。 以下、スニペットです。ネストさ…

xamSchedule を弄ってみる(その3)

前日・前々日に引き続き、本日も 「xamSchedule」 ネタを取り上げたいと思います。CodeZine のInfragistics・池原さんの記事参考記事: Silverlight/WPFでデータバインディングを利用しOutlookライクなスケジュールを構築する その1 Silverlight編では取り上…

xamSchedule を弄ってみる(その2)

前日のエントリに引き続き 「xamSchedule」 ネタです。本日は以下の記事の VB 化を試みました。 参考記事: Silverlight/WPFでデータバインディングを利用しOutlookライクなスケジュールを構築する その3 WCF サービス 接続編 VisualBasicで Silverlight ア…

xamSchedule を弄ってみる(その1)

現在、次の案件のため Infragistics さんのスケジュールコントロール 「xamSchedule」 を調査中です。WPF サンプルブラウザーを見てると面白そうな機能がテンコ盛りなんですが、如何せんネットの情報の少なさには泣けてきますね。チュートリアルを実践し、サ…

Q110. XamDataGrid でユーザーが設定したレイアウトを保存したい

A.XamDataGrid でユーザーが操作した列の移動や並び替え、グループ化やソートを次回起動時用に保存したいというケースがあります。その場合、XamDataGrid.SaveCustomizations メソッドやXamDataGrid.LoadCustomizations メソッドを使えば、レイアウトの保存…

Q109. XamDataGrid のレポートフッターに印刷日時やページ数を表示したい

A.Infragistics.Windows.Reporting.Report.PageFooterTemplate プロパティに、XAMLで定義した DataTemplate リソースを設定します。ヘッダーも Report.PageHeaderTemplate プロパティに DataTemplate を設定できます。 以下サンプルです。 <igDP:XamDataGrid.Resources> <DataTemplate x:Key="FooterTemplate"> <Grid Margin="5"> <Grid.ColumnDefinitions> </grid.columndefinitions></grid></datatemplate></igdp:xamdatagrid.resources>

Q108. XamDataGrid の印刷時に余白や印刷方向を設定したい

A.Infragistics.Windows.Reporting.Report.ReportSettings プロパティを設定します。 なおReportSettings クラスのプロパティ一覧ですが、12.1以降のバージョンだとオンライン・オフラインともリングが切断されていて見当たりません。11.2 ならあるようなの…

Q107. XamDataGrid の内容を印刷時にプレビューを表示したい

A.Infragistics.Windows.Reporting.XamReportPreview を要素に持つ画面を呼び出せばプレビューを表示できます。 以下サンプルです。 // C# using Infragistics.Windows.Reporting; public partial class MainWindow : Window { private void Button_Click(O…

Q106. XamDataGrid の表示内容をそのまま印刷したい

A.コードビハインドで Infragistics.Windows.Reporting.Report クラスを使えば、簡単に印刷できます。列幅の変更・ソート・列の移動やフィルタリング等、ユーザーが任意に行った設定や、XamDataGrid に設定したテーマがそのまま印刷に反映されます。 以下サ…

Visual Basic における自動実装プロパティの初期化

昨日の勉強会における Build 2014 の報告で、次期C# が自動プロパティの初期化をサポートするとの話が出てましたが、考えてみれば VB はすでにサポート済みなんですよね Public Property Name As String = "hilapon" Public Property IndustryType As String…

コードビハインドで Livet の EventListener を使ってみる

必要に迫られてちょっと考えてみました。しかしイベントの登録・解除・アクションの指定を集中管理できるので、いい感じです。 using Livet; using Livet.EventListeners; using System; using System.Windows; namespace LivetWPFApplication5.Views { publ…

某地図コンポーネントで複数のルートを連結するサンプル

なんのことやらわからないと思いますが、某地図コンポーネントで複数ルートを検索するサンプルです(謎)。備忘録以外のなにものでもありません。 using AxAMRTV20Lib; using System; using System.Windows.Forms; namespace WindowsFormsApplication1 { publi…

Q105. ListBox 等で、コレクションを操作せずソートするには

A.ItemoSource でバインドされたコレクションを操作せずに コントロールで並び替えを行いたい場合が多々あると思います。その場合、リソース内で CollectionViewSource を使えば、コレクションを操作せずにソートすることができます。 以下サンプルです。Vi…

コントロールパネル「地域と言語」と日付の書式指定文字列

先日ちょっと嵌ったので、以下備忘録です。 以下のコード、日付の書式指定文字列で「yyyy」を指定すると、四桁で西暦の年数を返却しますよね。 class Program { static void Main(string[] args) { Console.WriteLine( DateTime.Now.ToString("yyyy") ); } }…

Q104. WPF でツールチップをバルーン形式にするには?

A.吹き出し図形をレンダリングする Callout クラスを使います。なおこのクラスは Blendのアセンブリ「Microsoft.Expression.Drawing」で提供されていますので、事前に参照設定に追加しておく必要があります。以下サンプルです。このサンプルではツールチッ…

old_passwords でエラー

MySQL Connector/NET を 6.5.4 から 6.6.x に変更したら、MySQL 5.1 のサーバーに接続時、以下のエラーが出るようになりました。 using MySql.Data.MySqlClient; ・・・・・・ string connectionString = "Database=Test;Data Source=localhost;User Id=user…