我想计算存储在列表框中的单圈数据的平均值等:XX:XX:XX:XXX 但不确定如何/最好的方法是什么。例如,最好将项目放在列表框和数组中以计算或从列表框读取数据等。
谢谢
更新:每次用户按下按钮时,列表框都会添加一个新条目。信息会一直存储到应用程序关闭为止。
我想计算存储在列表框中的单圈数据的平均值等:XX:XX:XX:XXX 但不确定如何/最好的方法是什么。例如,最好将项目放在列表框和数组中以计算或从列表框读取数据等。
谢谢
更新:每次用户按下按钮时,列表框都会添加一个新条目。信息会一直存储到应用程序关闭为止。
您将希望通过binding来完成此操作。绑定允许您将数据存储在一个位置并仍将其显示在您的 UI 中。绑定是 MVVM(模型视图视图模型)框架的基础。
这是您的 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
}
}
您应该使用列表来保存数据,然后您可以将列表框绑定到数据。您使用 linq 执行所需的计算。
有关示例,请参见此处:http: //code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b