たとえば、次のタイプがあるとします。
public class Site
{
public string Name { get; set; }
public int SiteId { get; set; }
public bool IsLocal { get; set; }
}
上記の型は、ViewModel のプロパティに保持されるように割り当てることができるため、対応するバッキング フィールドが作成されているが、ここでは省略されていると仮定します。
public Site SelectedSite
{
get { return _selectedSite; }
set
{
_selectedSite = value;
// raise property changed etc
}
}
私のxamlでは、単純なバインディングは次のようになります:
<TextBlock x:Name="StatusMessageTextBlock"
Width="Auto"
Height="Auto"
Style="{StaticResource StatusMessageboxTextStyle}"
Text="{Binding MessageToDisplay,
Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}" />
ドット表記構文を使用してバインドを拡張できますか? 例えば:
<TextBlock x:Name="StatusMessageTextBlock"
Width="Auto"
Height="Auto"
Style="{StaticResource StatusMessageboxTextStyle}"
**Text="{Binding SelectedSite.Name,**
Mode=OneWay,
UpdateSourceTrigger=PropertyChanged}" />
興味深い機能のように思えますが、DC が RunTime で割り当てられているため、DesignTime または CompileTime でこの機能が機能するかどうかの手がかりが見えないので、私の直感はノーです。
複雑なオブジェクトとは何かを誤解している場合は訂正してください。この質問のために単純化しました。