2013-01-01から1年間の記事一覧

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…

Q103. WPF で未処理例外に対応するには?

A.DispatcherUnhandledException イベントを使用します。以下サンプルです。未処理例外情報をイベントログに保存します。 なお DispatcherUnhandledException イベントだけだとUIスレッドの未処理例外しか捕捉できません。UIスレッド以外の未処理例外も捕捉…

Q102. ListBox で一行おきに背景色を変えるには?

A.StyleSelector を使用します。以下サンプルです。奇数行と偶数行で背景色を設定します。 まず StyleSelector を継承したクラスを作成し、奇数行・偶数行のスタイルを保持するようプロパティを設けます。そして SelectStyle メソッドをオーバーライドし、…

Q101. ListBoxItem で子要素の編集時に強調表示するには?

A.IsKeyboardFocusWithin プロパティが True の場合、IsSelected プロパティを true にするよう、ListBoxItem のスタイルにトリガーを設定します。DataTemplate で ListBoxItem に TextBox などの編集用コントロールを設けた場合、子要素の TextBox にフォ…

Q100. リストボックスの選択行の背景色を変更するには?

A.SystemColors.HighlightBrushKey を上書きします。以下のサンプルでは選択行の背景色を赤に変更しています。また SystemColors.ControlBrushKey を上書きすると、リストボックスのフォーカスが外れても選択行の強調表示を保持することが出来ます。 <ListBox ItemsSource="{Binding Persons}" IsSynchronizedWithCurrentItem="True" SelectedIndex="0" Grid.Row="1" > <ListBox.Resources> </listbox.resources></listbox>

Q099. コンボボックスの項目に整数リテラル値を設定するには?

A.ComboBoxItem を使わなくても、直接数値を設定することができます。 <Window x:Class="MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" Title="MainWindow" Height="130" Width="250"> <Grid> </grid></window>

今年読んで面白かった本

なかなかレビュー書く時間が取れないので、まとめて紹介します。#とりあえず一部だけレビュー、あとのレビューは後日。 4522敗の記憶 ベイスターズ涙の球団史 4522敗の記憶 ホエールズ&ベイスターズ 涙の球団史作者: 村瀬秀信出版社/メーカー: 双葉社発売日:…

Q098. 最大化ボタンを有効にしながら、ユーザーによるサイズ変更を不可にするには?

A.WPF の Window は ResizeMode プロパティを NoResize にすると最大化ボタン等が非表示になります。Window.OnStateCnanged メソッドをオーバーライドするか、HwndSource クラスにメッセージを処理するウィンドウプロシージャを登録します。本記事は、以下 …

Windows 8.1 Preview で Classic Shell 動作したよん

昨日のエントリでは、Windows 8.1 Preview じゃ Classic Shell 動作しないよと書きましたが、すみません、いま Classic Shell 最新版 3.6.7 インストールしたら動作しました(大汗関連記事: Welcome to Classic Shell(Classic Shell 公式) う〜ん。。。デ…

Windows 8.1 Preview が公開されたのでお試し中

本日、遂に Windows 8.1 Preview が公開されました。Microsoft の公式ページは以下になります。関連記事:Windows 8.1 Previewついでに Visual Studio 2013 Preview も公開されてましたっ!次の .NET Framework のバージョンは 4.5.1 だそうです。何とも微妙…

Q097. XamDataGrid でフィルタリングされたレコードのコレクションを取得するには?

A.DataRecord.IsFilteredOut プロパティを条件に、クエリで簡単に取得できます。 #2015/02/05 追記: IsFilteredOut の戻り値が Null許容型なので、今更ながら GetValueOrDefault メソッド使わなきゃ駄目なことに気づいた (汗 WPF FAQ の目次に戻る

KB2670838 のアンインストール方法

以下、Windows7 64ビット版における KB2670838 のアンインストール方法について説明します。 関連記事: Windows 7 SP1 および Windows Server 2008 R2 SP1 用プラットフォーム更新プログラムが利用可能です。 KB2670838 を適用後 Aero や IE や Windows Liv…

メールアドレスが有効か判定する(RFC規約違反を許可)

MSDN に「文字列が有効な電子メール形式であるかどうかを検証する」 という記事がありますが、この記事のサンプルは RFC規約違反のアドレスを弾くよう実装してます。しかし hogehoge@i.sopftbank.jp という iPhone メールのドメインも弾くので、このままでは…

Nunit で ActiveXコンポーネントのメソッドをテストする

プロジェクトで使ってる地図用のActiveXコンポーネント (VB6用!) が、ここ数日おかしな値を返すため、検証用に単体テストを作ることにしました。その備忘録です。 もともと VB6 用のコンポーネントを .NET で使うのはどうよ?という話もあるのですが、代替品…

Surface Pro 本日発売

Surface Pro とうとう出ましたね!本日発売だそうです!\(^o^)/ Micosoft 公式サイト:Surface Pro マイクロソフト Surface Pro 256GB [Windowsタブレット・Office付き] H5W-00001出版社/メーカー: マイクロソフトメディア: Personal Computersこの商品を…

Convert Zero Datetime キーワード

MySQL の日付型の初期値は 「0000-00-00 00:00:00」 です。これは .NET の日付型 DateTime と互換性がなく、.NET の日付型変数に代入したりキャストすると例外が発生します。 これを回避する接続文字列のキーワードが Convert Zero Datetime。接続文字列にこ…

DRAGON Ⅲ号戦車N型

いま巷はガルパンブームで、今まで戦車に興味なかった人たちが模型店に押しかけ、思わぬ特需にAFV模型雑誌も大増刷、ガルパンの舞台の大洗駅も大勢のアニメファンが押しかけ、駅や旅館も戦車だらけになるなど、誰も予想しなかった展開になってるようです。放…

Q096. DataGrid でセルの値を変えると背景色が変わるようにするには?

A.DataGridColumn.CellStyle にスタイルを定義し、トリガーを設定します。 以下は、Livet を使ったサンプルです。 まず Model に Person クラスを用意しました。名前と所属と住所だけの簡単なクラスです。ちなみに名前空間はコードの都合上、省略してますの…

列挙型の値を List に変換する

Enum.GetValues メソッドを使って値の配列を取得。さらに Enumerable.Cast メソッドと ToList メソッドを使い List に変換します。 Dim list = [Enum].GetValues(GetType(列挙体)).Cast(Of 列挙体)().ToList() var list = Enum.GetValues(typeof(列挙体)).Ca…

Windows 8 で Windows Live メールを設定する

Windows 8 は初期状態で Windows Live メールがインストールされていません。そこで本エントリでは Windows Live メールのインストールおよび設定方法を解説します。 まずスタート画面から Bing のタイルをクリック(タブレットならタップ)して起動します。 …

Q095. DataGrid でソートを制御にするには?

A.DataGrid.CanUserSortColumns プロパティでグリッド全体のソート可否を制御できます。 列ごとにソートの有効/無効を設定するには DataGridColumn.CanUserSort プロパティを設定してください。DataGrid.CanUserSortColumns を False にした場合、列ごとの…

かかとが痛くならない靴 - YONEX パワークッション

#2015/01/05 : 新たに足が痛くならない靴とソックスというエントリを起こしました。こちらも合わせてご覧ください。 たまに一日中歩き回ることがあるのですが、最近歳とったせいか、前より足が痛くなりやすくなったように思います。特に痛いのがかかと!二…

Acer ICONIA W700D と VAIO Duo 11 到着

Windows 8 タブレットPCが二台到着しました。納品用のAcer ICONIA W700Dとデモ用のVAIO Duo 11 です。 Acer ICONIA W700D (i5-3337U/4G/128G SSD/11.6/W8_64/APなし/キーボード付/シルバー) ICONIA W700D出版社/メーカー: 日本エイサー発売日: 2013/02/22メ…

イベントハンドラで System.Threading.Tasks.Task を使う

#TLで指摘いただいたので、記事を追加しています。 ここひと月ほど、スレッドについて勉強してます。昨日 MSDN フォーラムに非同期に関するスレが立ったので System.Threading.Tasks.Task を使ったコードを提示してみたんですが、こちらにも備忘録で書いとき…

Q094. XamDataGrid で 「フィールドの選択」 のタイトルを変更するには?

A.「フィールドの選択」 のタイトルは通常変更することができません。しかし FieldChooser のインスタンスを取得し、Parent の ToolWindow.Title を設定すれば変更が可能です。 以下、サンプルです。前回はコードビハインドで実装しましたが、今回はインタ…

Q093. XamDataGrid で 「フィールドの選択」 のグループ名を変更するには?

A.FieldLayout.Description プロパティを設定します。 通常「フィールドの選択」のグループ名には、フィールドのグループ名が表示されます。 グループ名を任意の文字列にしたい場合、FieldLayout.Description プロパティを設定すると、グループ名から指定し…

Q092. Binding.RelativeSource の使い方がよくわからない

A.Binding.RelativeSource の使い方がいまいちよくわからなかったので、サンプルを使ってまとめてみました。 MSDN の説明によると バインディング ターゲットの位置に対して相対的な位置を指定することにより、バインディング ソースを取得または設定します…

Q091. XamDataGrid で特定データの前景色を変更後、マウスホバー行や選択セルに設定した前景色を反映するには?

A.CellValuePresenter クラスのスタイルで、ForegroundActiveStyleプロパティ・ForegroundActiveStyle プロパティを編集します。 以下のサンプルでは、department 列が「事務」のレコードの前景色を赤に設定してますが、変更した行の上にマウスを移動したり…

BackgroundWorker を使用して進行状況ダイアログを作成する(WPF & Livet版)

必要に迫られ、DOBON.NET さんの以下の記事BackgroundWorkerクラスを使用して進行状況ダイアログを作成するを参考に、WPF & Livet で進行状況ダイアログを作ってみました。 ダイアログは Forms からも呼び出せることを想定したインターフェイスになってます…

Q090. WPF でタスクトレイアイコンを表示するには?

A.WindowsForms の NotifyIcon クラスを使用します。 WPF では残念ながらタスクトレイアイコンの機能が提供されていません。以下の記事で触れられてますが、WPF はプレゼンテーションライブラリだからということで、MS さんはサポートする気がさらさらない…