0

我有一个ObservableCollection<TimeSpan> Laps数据绑定到gridview。这按预期工作,但我需要应用转换器来设置格式TimeSpan

在我的资源中:

<utils:TimeToStringConverter x:Key="myConverter"/>

我的网格视图:

<GridView HorizontalAlignment="Left" Height="278" Margin="78,220,0,0" VerticalAlignment="Top" Width="1278" ItemsSource="{Binding model.Laps}" />

我有以下转换器,我想将其应用于 Winrt 中的 GridView / ListView 的项目:

public class TimeToStringConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, string language)
    {
        TimeSpan t = (TimeSpan) value;

        return t.ToString(@"hh\:dd\:ss\.fff");

    }

    public object ConvertBack(object value, Type targetType, object parameter, string language)
    {
        throw new NotImplementedException();
    }
}

我不知道如何让转换器工作,当我应用它时,GridView它正在寻找我转换一个 Observable 集合而不仅仅是一个 TimeSpan 项目。我应该在这里做什么?

问候

4

2 回答 2

1

你需要类似的东西

<GridView
    ...>
    <GridView.ItemTemplate>
        <DataTemplate>
            <TextBlock
                Text="{Binding Converter={StaticResource myConverter}}" />
        </DataTemplate>
    </GridView.ItemTemplate>
于 2013-03-26T16:15:09.067 回答
-1

使用下面的修改行

我刚刚修改了项目来源,如下所示

ItemsSource="{Binding model.Laps,Converter={StaticResource myConverter}}"

<GridView HorizontalAlignment="Left" Height="278" Margin="78,220,0,0" VerticalAlignment="Top" Width="1278" ItemsSource="{Binding model.Laps,Converter={StaticResource myConverter}}" />
于 2013-03-26T14:58:13.423 回答