从列表框中计算数据的最佳方法

本文关键字:最佳 方法 数据 计算 列表 | 更新日期: 2023-09-27 18:17:57

我想计算平均等圈数据存储在一个列表框,如:XX:XX:XX:XXX,但不确定如何/什么是最好的方法。例如,最好将项目放在列表框中,并从列表框中计算或读取数据的数组等。

感谢

UPDATE:每当用户按下一个按钮时,列表框就会添加一个新条目。这些信息会一直保存到应用程序关闭。

从列表框中计算数据的最佳方法

您应该使用列表来保存数据,然后您可以将listbox绑定到数据。执行需要使用linq的计算。

请看这里的例子:http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

您将希望通过绑定来实现这一点。绑定允许您将数据存储在一个位置,并且仍然在UI中显示它。绑定是MVVM (Model View ViewModel)框架的基础。

下面是一个XAML的示例

<ListBox ItemsSource="{Binding LapTimes}">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Time}"/>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

你的页面代码可以看起来像

public MainPage()
{
    DataContext = new MainViewModel();
    InitializeComponent();
}
private void AddButtonClick(object sender, EventArgs e)
{
    TimeSpan time = // get time
    ((MainViewModel)DataContext).LapTimes.Add(time);
}

后面的ViewModel看起来像

public class MainViewModel // Should implement INotifyPropertyChange
{
    public MainViewModel()
    {
        LapTimes = new ObservableCollection<TimeSpan>();
    }
    public ObservableCollection<TimeSpan> LapTimes { get; private set; }
    private void CalculateStuff()
    {
        // calculate times
    }
}