Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用";。“滚动至”;C#/Xamarin中的列表视图方法_C#_Xaml_Xamarin_Xamarin.forms - Fatal编程技术网

如何使用";。“滚动至”;C#/Xamarin中的列表视图方法

如何使用";。“滚动至”;C#/Xamarin中的列表视图方法,c#,xaml,xamarin,xamarin.forms,C#,Xaml,Xamarin,Xamarin.forms,我试图弄清楚如何使用列表视图中可用的ScrollTo方法。我相信最后两个论点是正确的,但我不太确定第一个论点是否正确 这是我的视图的带有我的列表视图的xaml <ListView x:Name="MyList" Grid.Row="0" Grid.RowSpan="4" Grid.Column="0" Grid.ColumnSpan="8"

我试图弄清楚如何使用列表视图中可用的ScrollTo方法。我相信最后两个论点是正确的,但我不太确定第一个论点是否正确

这是我的视图的带有我的列表视图的xaml

         <ListView
            x:Name="MyList"
            Grid.Row="0"
            Grid.RowSpan="4"
            Grid.Column="0"
            Grid.ColumnSpan="8"
            ItemsSource="{Binding History}"
            ItemTapped="OnItemTapped"

            RowHeight="60">
            <ListView.ItemTemplate>
                <DataTemplate>
                    <ViewCell>
                        <StackLayout Margin="8">
                            <Label 
                                Text="{Binding MessageTitle}"
                                FontAttributes="Bold" />
                            <Label 
                                Text="{Binding MessageContents}" />
                        </StackLayout>
                    </ViewCell>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>
下面是ItemSource,它是我的视图模型中的一个可观察集合

public ObservableCollection<HistoryMessage> History
    {
        get
        {
            return History;
        }
        set
        {
            History = value;
        }
    }
公共可观察收集历史记录
{
得到
{
回归历史;
}
设置
{
历史=价值;
}
}
单击ScrollToBottom按钮时,我希望列表视图显示跳转到最近添加的项目。任何帮助都将不胜感激

例如:

在我的代码隐藏中,我有以下方法,在我的例子中是void,因为我只在加载所有列表时调用

    public void ScrollDown(HistoryMessage historyMessage)
    {
        List.ScrollTo(historyMessage, ScrollToPosition.End, false);
    }
所以,当我得到所有列表时,我调用这个方法

    ScrollDown(History.LastOrDefault());
如果您有一个按钮,并且希望我向您显示列表中最近的项,那么您应该查询您的API以查看是否添加了任何元素,然后调用此方法并发送lastOrDefault元素

如果需要的是第一个元素,请将List.ScrollTo(historyMessage,ScrollToPosition.End,false)更改为List.ScrollTo(historyMessage,ScrollToPosition.Start,false),并发送到可观察集合中的第一个元素

    ScrollDown(History.LastOrDefault());