不是任何类型的特定代码问题,我只是想更好地了解数据绑定在DataTemplate
. 这只是一个示例代码块;我定义了一个Client
具有三个属性的类(这些属性的目的与问题无关)
public class Client
{
public bool Powered { get; set; }
public bool clientAlive { get; set; }
public bool updaterAlive { get; set; }
}
ListView
我使用客户端列表填充:
List<Client> clientList = new List<Client>();
//populate the list from JSON url, code omitted
listView1.ItemsSource = clientList;
这是包含用于在 ListView 中显示项目的模板的 XAML 代码块:
<ListView.ItemTemplate>
<DataTemplate>
<WrapPanel>
<TextBlock Text="Powered: " FontWeight="Bold" />
<TextBlock Text="{Binding Powered}" />
<TextBlock Text=", " />
<TextBlock Text="clientAlive: " FontWeight="Bold" />
<TextBlock Text="{Binding clientAlive}" />
<TextBlock Text=", " />
<TextBlock Text="updaterAlive: " FontWeight="Bold" />
<TextBlock Text="{Binding updaterAlive}" />
</WrapPanel>
</DataTemplate>
</ListView.ItemTemplate>
代码运行良好,一切都按预期显示,我只是想知道是否有人可以解释 WPF 中的数据绑定是如何工作的。就我而言,XAML 中没有任何内容引用Client
该类,我只是对 XAML 如何知道显示绑定指定的属性感到困惑。是否Text = "{Binding = Powered}"
只是在填充列表的项目类型中查找与绑定匹配的属性?