0

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

4

1 回答 1

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>

我的虚拟机

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));
        }
    }
}
于 2013-08-12T05:57:14.803 回答