ImageToggleButtonへのImageSource登録
2015-08-26


WinRT XAML ToolkitのImageToggleButtonでは、Buttonの8つの状態別にイメージファイルを登録し、状態ごとに様々な外観を提供できる。

禺画像]

Gridで作った盤上にImageToggleButtonを並べるXAML定義。見えている部分では、通常の状態を示すNormalStateImageSourceにイメージファイル(png)を設定している。この設定はダミーで、プログラムで必要なイメージに付け替える。

禺画像]

付け替えるイメージファイルは、一時フォルダに置く。ファイルは、"ms-appdata:///temp/"でアクセスできるとある。

最初は、BitmapImageのUriSourceにこのパスを登録し、ImageToggleButtonの各ImageSourceに設定すれば済むと考えたが、例外になる。ネットワークアクセスのための機能の指定も足りないと言われる。パスが"http:"や"ftp:"でなく不正だ、と言ってくる。これが通る場所もあるのだが。

こうなると手間はかかるが正攻法。イメージファイルをStreamとしてオープンし、RandomAccessStreamに変換の上、BitmapImage.SetSourceAsyncで登録。ここでは、ボタンが押された状態に対応するPressedStateImageSourceが登録先。対象のImageToggleButtonは、親のGridからFindNameで検索。

[Windowsストアアプリ]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット