Silverlightの最近のブログ記事
数値を表す文字列を数値に変換したい場合は、各数値型クラスのスタティックメソッド「Parse」を使用すれば良いわけですが、文字列が"FFFF"とか"F3C8"(←これにピンと来た人はおっさん)みたいに、16進数表記だった場合はどうすればいいんだろうという部分で行き詰まってしまいました。
最初は、VBのValやCInt的なノリで、int.Parse("0xFF");とかやってみたのですが、残念ながらうまくいかず、調べたところ、オーバーロードされたParseの第二引数"NumberStyles"に秘密があったようです。
いろいろなスタイルを指定できるようですが、16進数表記の文字列を変換する場合は、"NumberStyles.AllowHexSpecifier"を指定すれば良いようです。
int num = int.Parse("FF",NumberStyles.AllowHexSpecifier);
上記の例でわかる通り、文字列には16進数を表す"0x"などを付けてはいけません。
XAMLのサンプルはいろいろなところで見つかったのですが、C#のコードで直接追加する方法がなかなか見つからなかったのでメモしておきます。
見つけるまでは多少手間取りましたが、見つけてしまえば方法自体はいたって簡単です。
ToolTipService.SetToolTip(targetObject,
new TextBlock() { Text = "秘密結社ぎゅう☆ぎゅう倶楽部" });
次に調べなければならないのは、ツールチップのスタイルのカスタマイズ方法です。
WPFでXAMLを使用したサンプルを見つけたので、こちらもとりあえずメモ。
■WPF Custom ToolTip Example(theWPFblog)
あるタイミングで、Ctrl キー、Shift キー、Alt キーなどの修飾キーの状態を取得したいというのは良くあることですが、SilverlightではKeyboard.Modifiersを使用して、上記の情報を得ることが出来ます。
Shiftキーの状態を取得する場合は、C#だとこんな感じ
using System.Windows.Input;
...
if ((Keyboard.Modifiers & ModifierKeys.Shift) == ModifierKeys.Shift)
{
//Shiftキーが押されていた時の処理
}
やっと本格的にSilverlight2に携わることになりましたが、Silverlight以前にC#での開発自体がほぼ初めてなので、だいぶ苦戦しています。
ちょっと油断している間に、Silverlight2β2が公開されていました。
ランタイムライブラリの他に、Visual Studio 2008 用 Microsoft Silverlight Tools Beta 2(silverlight_chainer) 、Silverlight SDKと、XAMLを作成する上で欠かせないExpression Blendが併せて公開されています。
早速ダウンロードしてインストールしてみたところ、ランタイムライブラリとBlendは問題なかったのですが、VisualStudioでSilverlightプロジェクトを新規作成したり、既存のプロジェクトを開こうとすると、エラーメッセージが表示されるようになってしまいました。
明日またいろいろと試してみようと思います。


