在Windows商店应用程序中转换长

时间:2013-08-12 05:10:19

标签: windows-store-apps type-conversion

我正在编写一个Windows 8商店应用程序并遇到以下问题: 我有一个绑定到对象的长属性的文本块。 长值是123456789,但是,在屏幕上我只看到char 1。 我怎么能解决这个问题,以及为什么转换为字符串不能像它应该那样工作?

1 个答案:

答案 0 :(得分:0)

试试这个,让我知道它是否适合你。

XAML

<Page.DataContext>
    <local:myVm />
</Page.DataContext>

<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
    <GridView ItemsSource="{Binding col}">
        <GridView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}" Margin="20" FontSize="20" />
            </DataTemplate>
        </GridView.ItemTemplate>
        <GridView.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapGrid MaximumRowsOrColumns="3" />
            </ItemsPanelTemplate>
        </GridView.ItemsPanel>
    </GridView>
</Grid>

myVm.cs

public class myVm : INotifyPropertyChanged
{
    public myVm()
    {
        col.Add(long.MaxValue);
        col.Add(long.MaxValue);
        col.Add(long.MaxValue);
        col.Add(long.MaxValue);
        col.Add(long.MaxValue);
        col.Add(long.MaxValue);
    }

    private ObservableCollection<long> _col = new ObservableCollection<long>();
    public ObservableCollection<long> col
    {
        get { return _col; }
        set
        {
            _col = value;
            NotifyPropertyChanged("col");
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    public void NotifyPropertyChanged(string propertyName)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this,
                new PropertyChangedEventArgs(propertyName));
        }
    }
}