閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

WPF

WPFでデザイン時にのみDataContextを指定する

デザイン サーフェイス上のサンプル データとプロトタイプを作るためのサンプル データ - UWP app developer | Microsoft Docsに全部書いてある。特にUserControlなど作っているときに、ViewModelは外から設定されるのでDataContextは設定したくない、けどな…

MenuItemのソースをもうちょっと読んでみる

結局、 <MenuItem Header="{Binding Value}" HeaderStringFormat="{}{0}円"/> は <MenuItem Header="{Binding Value, StringFormat={}{0}円}" HeaderStringFormat="{}{0}円"> <MenuItem.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding ., StringFormat={Binding HeaderStringFormat}}" /> </DataTemplate> </menuitem.itemtemplate></menuitem></menuitem>

MenuItem.Headerに対してStringFormatが効かない

<MenuItem Header="{Binding Value, StringFormat={}{0}円}"/> みたいに書いてもStringFormatの部分が無視されてしまう。ググって見ると WPF binding with StringFormat doesn't work on ToolTips - Stack Overflow がヒットして、もしやと見てみたらMenuItemにもHeaderStringFormatプロパティがあってこちらを使うと良</menuitem>…

WPFでコントロールを入れ子にしてみる

WPFのコントロールは自由に入れ子にすることができるので、例えばコンボボックスの中にコンボボックスを入れるなどといった事も簡単に行えます。コンボボックスの各要素をチェックボックスにしてみます。 #light #I @"C:\Program Files\Reference Assemblies…

F# で WPF

WPFにも挑戦してみました。Windowにコントロールを追加するメソッド(AddChild)が外部からアクセスできないので芋づる式にクラス定義と継承までやってしまいました。理解はしていません。MSDNブログの Learning WPF through F#, and vice versa, by John Liao…