文字列をテキストボックスコントロールにバインドしようとしていますが、文字列が埋もれてしまいます。
使用したいコードは次のような工夫された例です
namespace BackUps.Logging.ViewModel
{
class Obj1
{
public Obj2 obj2 { get; set; }
}
class Obj2
{
public Obj3 obj3 { get; set; }
}
class Obj3
{
public string Message
{
get { return "Hello World"; }
}
}
私のVMは次のようになります
namespace BackUps.Logging.ViewModel
{
internal class LogsVM
{
public Obj1 Obj1 { get; private set; }
public LogsVM()
{
Obj1 = new Obj1();
}
}
私の質問は、Xamlを使用してメッセージをTextBlockにバインドするにはどうすればよいですか?これは私が持っているものです:
<Window x:Class="BackUps.Logging.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:myData ="clr-namespace:BackUps.Logging.ViewModel"
Title="Logging Results" Height="350" Width="525">
<Grid DataContext="{x:Type myData:LogsVM}">
<TextBlock Text="{Binding Message}" />
</Grid>
</Window>
上記は機能しません。また、
<TextBlock Text="{Binding Obj1.Message}" />
また
<TextBlock Text="{Binding Obj1.Obj2.Obj3.Message}" />
この例は巧妙ですが、クラスのプロパティがリストタイプであり、そのリスト内に別のタイプがある場合が多く、特定のプロパティにドリルダウンする方法を知っていると、レイヤーの深さがいくつであっても重要ですが、私は方法を見つける場所がありません。