簡體   English   中英

GridView項目上的Winrt IValueConverter

[英]Winrt IValueConverter on a GridView item

我有一個ObservableCollection<TimeSpan> Laps ,我將其數據綁定到gridview。 這按預期工作,但我需要應用轉換器來設置TimeSpan的格式:

在我的資源中:

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

我的Gridview:

<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項。 我該怎么辦?

問候

你需要一個像

<GridView
    ...>
    <GridView.ItemTemplate>
        <DataTemplate>
            <TextBlock
                Text="{Binding Converter={StaticResource myConverter}}" />
        </DataTemplate>
    </GridView.ItemTemplate>

使用下面的修改行

我剛剛修改了商品來源,如下所示

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}}" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM