「Androidは電気羊の夢を見るか」を読みたい管理者のブログ

仕事などでの色々な発見を記事にしてます。不定期更新。

カスタムコントロールが思いのほか簡単に実装できた話

カスタムコントロール
今回の場合はボタンをカスタマイズして

<my:CustomButton IsFlick = "True"></Button>

てな指定ができるようにしてみた

結局使わわなそうだけどな!

参考:
試してみよう : カスタム WPF コントロールの作成

やり方はコードビハインドで、Buttonを継承して

    public partial class FlickButton : Button
    {
        public static readonly DependencyProperty IsFlickProperty = DependencyProperty.Register("IsFlick", typeof(bool), typeof(FlickButton));
        public FlickButton()
        {
            InitializeComponent();
        }
        private bool isFlick = false;
        public bool IsFlick
        {
            get { return (bool)base.GetValue(IsFlickProperty); }
            set { base.SetValue(IsFlickProperty, value); }
        }
    }

とやるだけ。

ちょっとややこしいのは

public static readonly DependencyProperty IsFlickProperty = DependencyProperty.Register("IsFlick", typeof(bool), typeof(FlickButton));

この部分だけど、

public static readonly DependencyProperty 変数名 = DependencyProperty.Register("外に出す名前","typeof(型名)",typeof("このクラスの名前"));
||
ってなってるだけだから案外簡単。

すごく簡単

[https://msdn.microsoft.com/ja-jp/library/ms753358%28v=vs.110%29.aspx:title]よりはるかに簡単。