WPF基础知识对绑定源和目标类型的属性存有疑虑

时间:2013-07-02 03:29:09

标签: c# wpf mvvm wpf-controls wpf-4.0

我是WPF的新手。我在不同的地方看到不同的语法,如下所示。请在下面找到并帮助我理解。

这下面的一个适用于许多人。

<Style TargetType="{x:Type TextBlock}">

然而,这同样有效。

<Style TargetType="{TextBlock}">

那么x:Type在这里有什么重要意义?

有些人在ListView, Itemsource = "{Binding}"使用,而在某些地方,我需要使用Itemsource = "{Binding Propertyname}"

我的问题是,在某些地方,只有当我使用Propertyname时,它会显示数据,在某些地方,当我不使用propertyname而只是Binding时,它会显示数据。怎么样和为什么?

1 个答案:

答案 0 :(得分:1)

编辑:我必须研究你的第一个问题,因为我在WPF上生锈了。来自MSDN

  

WPF支持的技术允许指定Type类型的某些属性的值,而不需要x:Type标记扩展名用法。相反,您可以将值指定为命名该类型的字符串。示例包括ControlTemplate.TargetType和Style.TargetType。不通过类型转换器或标记扩展提供对此行为的支持。相反,这是通过FrameworkElementFactory实现的延迟行为。

缺少&#34; x:Type&#34;只是XAML解析功能提供的便利。

关于你的第二个问题,Itemsource = "{Binding}"将绑定到该组件的DataContext。 Itemsource = "{Binding Propertyname}"绑定到DataContext.Propertyname。这也相当于Itemsource = "{Binding Path=Propertyname}"

我可能会建议一些reading