我的WPF应用程序窗口中有一个数据网格,我必须绑定到一个可观察的集合。我必须为用户提供选项,以便能够编辑,删除,添加和编辑此数据网格中的项目。
我在下面对datagrid进行了绑定,但是想问一下如何让用户轻松添加,编辑/更新数据网格中的项目。
这是我目前的代码:
的.xaml
<DataGrid x:Name="dgrQuestions" AutoGenerateColumns="False" Height="272" HorizontalAlignment="Left" Margin="42,73,0,0" VerticalAlignment="Top" Width="669" ItemsSource="{Binding QuestionsList}">
<DataGrid.Columns>
<DataGridTextColumn Header="FirstQues" Binding="{Binding Question}"/>
<DataGridTextColumn Header="SecondQues" Binding="{Binding Answer}"/>
<DataGridTextColumn Header="ThirdQues" Binding="{Binding Hint}"/>
</DataGrid.Columns>
</DataGrid>
.xaml.cs代码
using Quest; //class having the format of the question
public class Master
{
private ObservableCollection<Quest> questList;
public event PropertyChangedEventHandler PropertyChanged;
public ObservableCollection<Quest> QuestionList
{
get { return questList; }
set
{
questList = value;
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("QuestionsList"));
}
}
//Add, Edit, Remove, Reset methods required
}
对于要为其创建对象的类,.cs代码(仅限此处提到的属性):
public string Question
{
get { return _question; }
set{ _question = value; OnPropertyChanged("Question"); }
}
public string Answer
{ get { return _answer; }
set {_answer = value; OnPropertyChanged("Answer"); }
}
public string Hint
{
get { return _hint; }
set { _hint = value; OnPropertyChanged("Hint"); }
}
答案 0 :(得分:0)
要添加/删除,请确保将CanUserAddRows和CanUserDeleteRows属性设置为true。然后,用户可以通过输入底部的空白行来添加行,并通过选择它们并按键盘上的删除来删除行。
要编辑行,IsReadOnly属性必须为false(默认情况下)。