0

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

谢谢

更新:每次用户按下按钮时,列表框都会添加一个新条目。信息会一直存储到应用程序关闭为止。

4

2 回答 2

1

您将希望通过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
    }
}
于 2013-06-13T05:45:32.920 回答
1

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

有关示例,请参见此处:http: //code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

于 2013-06-11T15:37:45.907 回答