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

时间:2013-06-11 15:17:30

标签: c# xaml listbox windows-phone

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

谢谢

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

2 个答案:

答案 0 :(得分:1)

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

点击此处查看示例: http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

答案 1 :(得分:1)

您希望通过binding完成此操作。绑定允许您将数据存储在一个位置,并仍然在UI中显示它。绑定是MVVM(模型视图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
    }
}
相关问题