こんにちは。エクセルソフトの田淵です。
Xamarin.Forms の Slider の Min/Max の設定方法
@kurosawa0626 さんから
Xamarin.Formsのこれ直った?
https://t.co/C3c8HSlCJE
— 黒澤@大湊警備府 (@kurosawa0626) 2015, 2月 20
との調査依頼を頂いたので調べてみました。
Xamarin.Forms の Slider コントロールは Minimum を 0 以外の値にすると書き方次第で落ちるようです。
落ちるケース
Xaml
<StackLayout> <Slider Minimum="50.0" Maximum="100.0" /> </StackLayout>
C#
var slider = new Slider { Minimum = 50.0, Maximum = 100.0, }; Content = new StackLayout { Children = { slider } };
Content = new StackLayout { Children = { new slider { Minimum = 50.0, Maximum = 100.0, } } };
Forum や Bugzilla にも情報がありました。
- Invalid value for slider minimum - Xamarin Forums
- Bug 21181 – Slider does not allow us set/bind Minimal value more than 1
2015/2/22 時点での最新版 1.3.4 でも直っていませんでした。回避策としては、Maximum を先に書く か、Minimum を 0 または未指定にすると良いようです。
落ちないケース
Xaml
<StackLayout> <Slider Maximum="100.0" /> Minimum="50.0" </StackLayout>
C#
var slider = new Slider { Maximum = 100.0, Minimum = 50.0, }; Content = new StackLayout { Children = { slider } };
Content = new StackLayout { Children = { new slider { Maximum = 100.0, Minimum = 50.0, } } };
または
Content = new StackLayout { Children = { new slider { Maximum = 100.0, } } };
などですね。
仕様なのかバグなのかはちょっと良く分からないです。
Xamarin.Forms.Slider の API ドキュメント
Xamarin 気になった方は
是非 ダウンロード(直接) / ダウンロード(弊社経由) して触ってみてください。 学習用リソース や JXUG リンクページ に参考資料を纏めてますので併せてどうぞ。
以上です。