雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

de:code 2014 に参加してきました( 1 日目)

日本マイクロソフトによる技術者のためのカンファレンスである de:code が 5/29-30 の 2 日間に渡って開催されました。
今回のイベントでは、 4 月に北米で開催された Build 2014 で発表された内容をベースに、 Microsoft が今提供しているテクノロジの最新情報が 70 以上のセッション(スポンサー企業による事例紹介セッションを含む)によって提供されました。
受講したセッションの内容については、可能そうなものは今後記事にしていければいいなと思っていますが、ひとまず全体の感想をざっくりと書いておきます。

続きを読む

Windows Phone 8.1

日本では Windows Phone 8 対応端末が発売される事もなくやや下火にも見える*1状況ではありますが、世界的に見ると Windows Phone は着実にシェアを伸ばしてきていて、 iOS, Android に次ぐ第三勢力の地位を確保しつつあります。(新興国での低価格帯端末の人気に後押しされている面はありますが)
そんな状況の中、先日の Build 2014 で、 Windows Phone の大型アップデートである Windows Phone 8.1 が正式にお披露目となりました。
Build のキーノートでもかなりの時間を割いて紹介されましたが、非常に期待の出来るアップデートなので、まずはキーノートの内容からわかる範囲でまとめておきたいと思います。
# 「どうせ日本は関係ない」とか思わないでください。確かに、現時点で国内では Windows Phone 8 対応端末は販売されていませんが、世界を相手にしたアプリを開発する事は当然可能ですし、そもそもストア自体は日本にも開かれています。(もちろん Windows Phone 8 向けにも)
# また、明確には提示されていませんが、様々な面から日本での Windpows Phone 8.x 展開への流れが感じられる状況になってきています。
# 今のうちから最新情報に目を向けておいて損はないはずです。

*1:日本 Microsoft 自体、ほとんど Windows Phone に言及する事がなくなっている状態ですからねぇ。。。

続きを読む

移転のお知らせとご報告

相変わらずお仕事過多と DQ10 (主にこっちの理由)で blog 記事を全然書けていませんが、いい加減復帰しないとこのままフェードアウトしてしまいかねないので行動を起こす試み。
で、復帰に当たってはてなダイアリーからはてなブログに移転する事にしました。
正直、雑談用とか DQ10 用とかではてなブログを使っている限り、技術系記事を書くには(個人的に)まだちょっとつらいところはあるのですが、如何せん Microsoft 系技術者の流れがはてなブログに移行している状況*1なので、まぁいい機会かな、と。
はてなダイアリーを利用して 10 年、色々感慨深いものもありますが、今後ははてなブログで頑張って行く所存です。
今後ともよろしくお願いいたします。

*1:Windows 開発者なんてグループまで出来てますし。。。

続きを読む

BooleanToCollapsedConverter

※いんすぱいあーどふろむ

みつばたんの資料 (P62) にある様に、 1 つの画像の表示 / 非表示をチェックボックス(トグル)の On / Off に割り当てる場合は Property Binding + Converter でいけますね*1
でも、忍さんの記事の様に Off で別の画像を表示したい場合( On / Off で画像を切り替えたい)場合は Property Binding だけではうまくいかない、と。
……で、まぁ忍さん提案のコントロール化(+ VSM で制御)で対応してもいいのだけれども、それだけのためにコントロール(テンプレート)を作るのもなんかなぁと思うわけです。
# そもそも、この方法だとシステムでテーマや共通テンプレートとかを適用しているときにうまくいかないケースがありますし。
そこで、簡易的に↓こんな Converter を作って*2逃げてます。

using System;
using System.Globalization;
using System.Windows;
using System.Windows.Data;

namespace CheckboxSample.Data
{
    public class BooleanToCollapsedConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is bool && !(bool)value)
            {
                return Visibility.Visible;
            }

            return Visibility.Collapsed;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is Visibility && (Visibility)value == Visibility.Visible)
            {
                return false;
            }

            return true;
        }
    }
}

※ストアアプリの場合は Convert / ConvertBack の引数の型が他と違うので読み替えが必要。。。

*1:Silverlight / Windows Phone の場合は BooleanToVisibilityConverter がないのでそこから自作が必要ですが。。。

*2:毎回書くのが面倒だからメモ代わりに記事化しておく試みです。 :p

続きを読む