ImageToggleButtonへのImageSource登録2015年08月26日 21:50

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

ImageToggleButtonのXAML定義

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

ImageToggleButtonへのImageSource登録

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

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

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

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2015/08/26/7751415/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。