私は、Silverlight 5 の規約を介して Caliburn.Micro のバインドを使用しており、気に入っています。ViewModel のプロパティの例を次に示します。
private String _vmStringProp = "";
public String VmStringProp
{
get
{
return _vmStringProp;
}
set
{
_vmStringProp = value;
NotifyOfPropertyChange(() => VmStringProp);
}
}
このプロパティは、名前を付けるだけでビューにバインドされます。
<TextBox x:Name="VmStringProp" />
これはうまくいきます。しかし、TextBlock または Lable (以下の例) に変更すると、例外がスローされます。
<sdk:Label x:Name="VmStringProp" />
通常の Silverlight のようにバインドするように変更すると問題なく動作しますが、プロジェクト全体で一貫性を保ちたいと思います。慣例によってバインドされたものと、コントロールの種類に応じて明示的にバインドされたものがあります。Labels と TextBlocks を使用して規則を介してバインドできない理由を知っている人はいますか?