【发布时间】:2017-03-14 22:19:46
【问题描述】:
我在 XAML 中有一个如下所示的网格视图
<ListView x:Name="listTasks">
<ListView.View>
<GridView x:Name="gridTasks">
<GridViewColumn Header="ID" HeaderStringFormat="Lowercase" Width ="26" DisplayMemberBinding="{Binding id}"/>
<GridViewColumn Header="Something" Width="113" DisplayMemberBinding="{Binding something}"/>
<GridViewColumn Header="State" Width="179" DisplayMemberBinding="{Binding currentState}"/>
</GridView>
</ListView.View>
</ListView>
我有一个按钮,可以使用下面的内容添加到此网格视图中
m.myList.Add(new mylistview.myitems
{
id = m.id,
something= m.something,
currentState = m.currentState,
});
通过将行添加到gridview 中,此按钮可以完美运行。但是我想使用正在运行的方法修改theCurrentState。例如,我如何找到ID = "8",然后为该行修改theCurrentState?
显示的更新代码
我现在已经用ObservableCollection 替换了我的list<Task>,并在我点击我的button 时设法让它添加到我的listview。但是,我正在努力将iNotifyPropertyChanged 实现到我的代码中并让它正常工作......下面是我的listview class
public class mylistview : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged([System.Runtime.CompilerServices.CallerMemberName] string propertyName = "")
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
private string _currentState;
public string currentState
{
get { return _currentState; }
set
{
_currentState = value;
OnPropertyChanged();
}
}
public ObservableCollection<myitems> _myList = new ObservableCollection<myitems>();
public ObservableCollection<myitems> myList
{
get { return _myList; }
}
private static int _id = 0;
public class myitems
{
public int id { get; set; }
public string something{ get; set; }
public string currentState { get; set; }
}
public int id
{
get { return _id; }
set { _id = value; }
}
}
【问题讨论】: