我在WPF绑定方面遇到了一些问题。
我有一个在类Values中有一些const属性的程序集,它们对应于datatable中的列。
我想使用const属性将列中的值绑定到TextBlock,以指定ListView ItemTemplate中的列,如代码中所示:
xmlns:C="clr-namespace:WPFApplication1.Entities;assembly=WPFApplication1">
<Grid>
<ListView>
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding {x:Static C:Values.FieldCode}}" /> /*<- Don't work*/
/*Works like this: <TextBlock Text="{Binding [CODE]}" />*/
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
如果我使用静态属性的绑定,我无法在数据行中显示该值,但如果我像这样[CODE]使用Binding,我就能显示该值。
什么是上诉? 任何线索?
提前致谢。
答案 0 :(得分:3)
您需要使用静态属性作为Source,而不是Path,这是Binding的默认属性:
{Binding Source={x:Static C:Values.FieldCode}}
答案 1 :(得分:1)
斜体文字不正确,请阅读 EDIT1 :
无法绑定到静态属性。绑定始终需要Class的实例。可以通过将类实例化为后面代码中的资源并将该类设置为datacontext
<强> EDIT1:强>
添加类型为
的静态属性public static string FieldCode = "Code";
public static PropertyPath FieldCodePath = new PropertyPath(FieldCode);
将绑定更改为以下绑定:
<TextBlock Text="{Binding Path={x:Static C:Values.FieldCodePath}, IsAsync=true}" />
我希望这会有所帮助