記事一覧
- Private setなのにTwoWay Bindingができる
- 角丸にする
- Controlのxamlを出力してみる
- TabControl
- Generic.xamlを見やすく管理する
- アイコンとテキスト付きのボタンを作る
コロン(:)の前後にはスペースを付けてはならない。
これはNG
<DataGridCell Content="{Binding Converter={convert: CategorySumConverter}}" Width="50" />
これはOK
<DataGridCell Content="{Binding Converter={convert:CategorySumConverter}}" Width="50" />
ConverterをMarkupExtension化して使おうとしたらエラーで戸惑いました。
こんな感じのよくあるKeyを付けるのもスペースを入れてはダメなようです。
<SolidColorBrush x:Key="Expander.MouseOver.Circle.Stroke" Color="#FF5593FF"/>
今まで意識することもなかったのですが、C#を書くときは普通にスペースを打っていたので気が付きにくかったです。
↓こんなの違和感ないでしょ?だったらxamlもスペース許して欲しいなぁ。
public class CategorySumConverter : MarkupExtension, IValueConverter
{
}
TemplateBinding と RelativeSource TemplatedParent
TemplateBindingはコンパイル時に評価される。
RelativeSourceは実行時に評価される。
つまり値を入れ替えたりしたい場合は、RelativeSourceでBindしなければならない。
コメント