久々の記事で、XAMLの話題です。
よく見かけるこんなソース
<Grid> <TextBlock Text="{Binding Hoge, Mode=OneWay}" /> </Grid>なんの疑問もなく使っていて、こういう構文なんだなあと思っていたのですが、
実はこういう書き方もできるみたいです。
<Grid> <TextBlock> <TextBlock.Text> <Binding Path="Hoge" Mode="OneWay" /> </TextBlock.Text> </TextBlock> </Grid>
"{}"を使った構文は短縮形だったんですねぇ!
追記 2012/08/14
これ、マークアップ拡張(Markup extensions)って言うんですね。MSDN - マークアップ拡張機能と XAML
http://msdn.microsoft.com/ja-jp/library/ms747254(v=vs.80).aspx
BindingやStaticResource、x:Type、x:Static などはこうの仕組みを使っているんですね。
ちなみに、自分でマークアプ拡張を定義することもできるそうです。
かずきのBlog - [C#][WPF]マークアップ拡張の作り方
http://blogs.wankuma.com/kazuki/archive/2008/03/30/130476.aspx