読者です 読者をやめる 読者になる 読者になる

atelier:mitsuba

i love UI/UX, Blend, XAML, Behavior, P5, oF, Web, Tangible Bits and Physical computing. なにかあればお気軽にご連絡ください。atelier@c-mitsuba.com

ReactivePropertyを使っていて、なぜかUWPのWACKに通らないときの対処法

    public ReactiveProperty<int> ListTextSize { get; set; }
    
    public int TargetFontSize
        {
            get { return _targetFontSize; }
            set { SetProperty(ref _targetFontSize, value); }
        }

//----------------------------//

    ListTextSize = this.ObserveProperty(_ => _.TargetFontSize)
                  .Throttle(TimeSpan.FromMilliseconds(40))
                  .ToReactiveProperty();

こんなコードを書いていて、普通にアプリが起動して操作できるのに、なぜか下みたいな理由でWindows Application Certification Kitが通らないとき
f:id:c-mitsuba:20170507205108p:plain


はこんなかんじで、

   
 ListTextSize = this.ObserveProperty(_ => _.TargetFontSize)
                  .Throttle(TimeSpan.FromMilliseconds(40))
                  .ToReactiveProperty(20);

ToReactivePropertyの中に初期値を入れてあげるとWACKが通りました。

おそらく普通のプロパティ同士なら問題なく、View側とBindingしてるのでView側の問題かもしれませんが。
(WinRTXamlToolKitやらなんやら使っていたので。。)

おなじパターンではまってる人は少ないかもしれませんが、まぁメモ書き程度に。