【发布时间】:2016-10-07 13:44:46
【问题描述】:
我正在使用以下 xaml 代码:
<ListView ItemsSource="{Binding Offsets, Mode=TwoWay}">
<ListView.View>
<GridView>
<GridViewColumn Header="X" Width="90">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding X, Mode=TwoWay}"
Width="70"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
(我知道这看起来有点草率,但我尽量保持最小)
我绑定的 Offsets 属性是 public List<Point3D> { get; set;}。 (using System.Windows.Media.Media3D)。
因此,每个 Point3D 都有一个公共 X、Y 和 Z 属性。
我的 ListView 生成正常,但是当我尝试更改 TextBox 的值时,Datacontext 没有更新。
我做错了什么?
【问题讨论】:
-
你实现了 INotifyPropertyChanged 接口?
-
riteshmeher 是对的。你也可以使用
ObservableCollection<Point3D>来实现这个。 -
所以你正在编辑TextBox并且set没有被调用?
标签: c# wpf data-binding binding