hatakeのブログ

社会人ひよこプログラマのtil

WPF

DataTemplateの中からDataContextのプロパティにバインドできなくてハマったこと

WPF

コレクションをItemSourceにバインドするとコレクションの要素にアクセスできる代わりにDataContextのプロパティが見えなくなりました。よく考えると当たり前ですけどハマりました。 RelativeSource こんな感じでバインドの設定をすると親のDataContextにア…

WPFで画面とロジックを分離する(ICommand 理論編)

WPF

ICommandとは何者か。という覚書きメモです。下記の実装編のコードがなぜ動くかの補足です。 silatori.hatenablog.com ICommandインターフェース ICommandは標準ライブラリにあるインターフェースです。このICommand型のプロパティをViewModelで作成、Viewに…

WPFで画面とロジックを分離する(ICommand 実装編)

WPF

描画とドメインロジックを一緒の場所に書くとすぐスパゲッティができます。(体験談) VisualStudioのイベントハンドラ自動生成機能はすごく直感的にGUIプログラミングができますが、代償としてイベントハンドラが生成されるコードビハインドが非常に大きくな…

WPFでプロパティの変更をトリガーにしてアニメーションするときにハマったこと

WPF

DataTriggerを使ってアニメーションをするスタイルを作ってハマってしまった。以下が間違ったコード。これだと初期化したときしかアニメーションしなかった。 <Style x:Key="animetionStyle" TargetType="StackPanel"> <Style.Triggers> <DataTrigger Binding="{Binding IsChecked}" Value="true"> <DataTrigger.EnterActions> <BeginStoryboard> <Storyboard> </storyboard></beginstoryboard></datatrigger.enteractions></datatrigger></style.triggers>