我想将GrivdViewColumn的Width属性与我的ViewModel绑定。让我们说ViewModel的一个实例是Window的Datacontext。 ViewModel有一个名为IdWidth,LastNameWidth,FirstNameWidth的属性。并且该窗口在stackPanel中包含以下给定的ListVeiw。一切都很好,但不知何故GridViewColumn的Width属性没有绑定。请在确认其有效后发布。
<ListView Name="PatientListView"
ItemsSource="{Binding Patients}"
SelectionMode="Single">
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Header="Patient-Id"
Width="{Binding IdWidth, Mode=TwoWay}"
DisplayMemberBinding="{Binding PatientId}"/>
<GridViewColumn Header="Last Name"
Width="{Binding LastNameWidth, Mode=TwoWay}"
DisplayMemberBinding="{Binding LastName}"/>
<GridViewColumn Header="Last Name"
Width="{Binding FirstNameWidth, Mode=TwoWay}"
DisplayMemberBinding="{Binding FirstName}" />
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
答案 0 :(得分:3)
我的评论中概述了接受的答案是错误的,看着你的路径,你似乎期望DataContext
成为项目,这是不可行的(有多个项目要开始,应该选择哪个? )。
列的DataContext
是DataContext
的{{1}}。
此示例将生成一个包含标题ListView
的列:
Lorem Ipsum
答案 1 :(得分:2)
编辑:对于DataBinding,FrameworkElement不是必需,对于以下对MSDN引文的错误解释感到抱歉。 见评论和@H.B.是answer
GridViewColumn不会从FrameworkElement继承,这是数据绑定所必需的。
请参阅MSDN:
击><击>
支持数据绑定和动态资源引用:[...],但能够解析存储为Expression的成员值(编程结构) FrameworkElement实现了数据绑定和动态资源的基础 击>