我是WPF的新手。我在不同的地方看到不同的语法,如下所示。请在下面找到并帮助我理解。
这下面的一个适用于许多人。
<Style TargetType="{x:Type TextBlock}">
然而,这同样有效。
<Style TargetType="{TextBlock}">
那么x:Type
在这里有什么重要意义?
有些人在ListView, Itemsource = "{Binding}"
使用,而在某些地方,我需要使用Itemsource = "{Binding Propertyname}"
我的问题是,在某些地方,只有当我使用Propertyname时,它会显示数据,在某些地方,当我不使用propertyname而只是Binding时,它会显示数据。怎么样和为什么?
答案 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