我的TimePage xaml中有一個串列視圖:
<ListView x。 Name="moduleList"/span> Width="1120"/span> Height="231"/span> Margin="42,536,186,217"/span> Grid. Column="1" >
<ListView.View>
<GridView>
<GridViewColumn Header="Program Name" Width="160" DisplayMemberBinding="{Binding name}"/>。
<GridViewColumn Header="Program Code" Width="160" DisplayMemberBinding="{Binding code}"/>
<GridViewColumn Header="Number of Credits" Width="160" DisplayMemberBinding="{Binding credits}"/>
<GridViewColumn Header="Number of Hours" Width="160" DisplayMemberBinding="{Binding hours}"/>
<GridViewColumn Header="學期開始日期" Width="160" DisplayMemberBinding="{系結日期}"/>
<GridViewColumn Header="Semester Weeks" Width="160" DisplayMemberBinding="{Binding weeks}"/>
<GridViewColumn Header="學習時間" Width="160" DisplayMemberBinding="{Binding studyhours}"/>
</GridView>
</ListView.View>
</ListView>
我的值是從myModule類中獲取的,每個變數都被系結到一個變數上:
public string name { get; set; }
public string code { get; set; }
public int credits { get; set; }
public int hours { get; set; }
public string date { get; set; }
public int Studyhours { get; set; }
public int weeks { get; set; }
我在TimePage.cs中使用了這段代碼,以便允許我向listView中添加值:
List<Modules> modules = new List<Modules> ();
modules.Add(new Modules()
{
name = namebox.Text,
code = codebox.Text,
credits = int.Parse(0 creditbox.Text) 。
hours = int.Parse(0 hoursbox.Text)。
日期 = semesterbox.Text,
weeks = int.Parse(0 semesterweekbox.Text) 。
studyhours = m1.Calculations(int.Parse(hoursbox.Text)。
int.Parse(creditbox.Text)。
int.Parse(semesterweekbox.Text))。)
}) ;
這段代碼是有效的,它允許我在串列框中輸出數值,它的結果是這樣的:
這段代碼是有效的。

但是,當我嘗試輸入新的值時,它并沒有輸出一個新的專案,而是更新了第一個專案上的資訊:
我怎樣才能讓它添加一個新的專案而不是更新資訊呢?
uj5u.com熱心網友回復:
你需要用一個可觀察的集合創建只讀欄位:
private readonly ObsrvableCollection< Modules> modules
= new ObservableCollection<Modules>()。
一次,在初始化XAML后,將欄位值分配給ListView源:
InitializeComponent();
moduleList.ItemsSource = modules。
之后,在代碼中,只對欄位中的集合作業。 不要管ListView UI。
modules.Add(new Modules()
{
name = namebox.Text,
code = codebox.Text,
credits = int.Parse(0 creditbox.Text) 。
hours = int.Parse(0 hoursbox.Text)。
日期 = semesterbox.Text,
weeks = int.Parse(0 semesterweekbox.Text) 。
學習時間 = m1.Calculations
(
int.Parse(hoursbox.Text)。
int.Parse(creditbox.Text)。
int.Parse(semesterweekbox.Text)
)
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/324488.html
標籤:
