我正在尝试将字符串绑定到我的文本框控件,但字符串被埋没了。
我要使用的代码是以下人为的示例
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"; }
}
}
我的虚拟机看起来像
namespace BackUps.Logging.ViewModel
{
internal class LogsVM
{
public Obj1 Obj1 { get; private set; }
public LogsVM()
{
Obj1 = new Obj1();
}
}
我的问题是,如何使用 Xaml 将 Message 绑定到 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}" />
我知道这个例子很愚蠢,但是很多时候一个类的属性是一个 List 类型,而在那个 List 中是另一个等,并且知道如何深入到一个特定的属性,不管有多少层很重要,但我've得到无处找出如何。