Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lindexi_gd
Uno
提交
e05f7620
U
Uno
项目概览
lindexi_gd
/
Uno
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
Uno
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
e05f7620
编写于
4月 05, 2023
作者:
J
Jérôme Laban
提交者:
GitHub
4月 05, 2023
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #11836 from roxk/x11809
app: Fix ListView missing top elements when flinging #11809
上级
175d08f0
97074276
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
62 addition
and
1 deletion
+62
-1
src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_ListViewBase.cs
...ests/Tests/Windows_UI_Xaml_Controls/Given_ListViewBase.cs
+61
-0
src/Uno.UI/UI/Xaml/Controls/ListViewBase/VirtualizingPanelLayout.managed.cs
.../Controls/ListViewBase/VirtualizingPanelLayout.managed.cs
+1
-1
未找到文件。
src/Uno.UI.RuntimeTests/Tests/Windows_UI_Xaml_Controls/Given_ListViewBase.cs
浏览文件 @
e05f7620
...
...
@@ -919,6 +919,67 @@ namespace Uno.UI.RuntimeTests.Tests.Windows_UI_Xaml_Controls
Assert
.
AreEqual
(
4
,
materialized
);
}
[
TestMethod
]
[
RunsOnUIThread
]
#if __IOS__ || __ANDROID__
[
Ignore
(
"Disabled because of animated scrolling, even when explicitly requested."
)]
#endif
public
async
Task
When_Large_List_Scroll_To_End_Then_Back_Up_And_First_Item
()
{
var
materialized
=
0
;
var
container
=
new
Grid
{
Height
=
500
,
Width
=
100
};
var
list
=
new
ListView
{
ItemContainerStyle
=
NoSpaceContainerStyle
,
ItemTemplate
=
new
DataTemplate
(()
=>
{
var
tb
=
new
TextBlock
();
tb
.
SetBinding
(
TextBlock
.
TextProperty
,
new
Binding
());
var
border
=
new
Border
()
{
Height
=
50
,
Child
=
tb
};
materialized
++;
return
border
;
})
};
container
.
Children
.
Add
(
list
);
var
source
=
new
ObservableCollection
<
int
>(
Enumerable
.
Range
(
0
,
50
));
list
.
ItemsSource
=
source
;
WindowHelper
.
WindowContent
=
container
;
await
WindowHelper
.
WaitForIdle
();
for
(
int
i
=
0
;
i
<
3
;
i
++)
{
ScrollTo
(
list
,
1000000
);
// Scroll to end
await
Task
.
Delay
(
200
);
await
WindowHelper
.
WaitForIdle
();
ScrollTo
(
list
,
5
);
// Scroll to end
await
Task
.
Delay
(
200
);
await
WindowHelper
.
WaitForIdle
();
var
firstContainer
=
(
FrameworkElement
)
list
.
ContainerFromIndex
(
0
);
firstContainer
.
Should
().
NotBeNull
();
LayoutInformation
.
GetLayoutSlot
(
firstContainer
).
Y
.
Should
().
BeLessOrEqualTo
(
0
);
var
secondContainer
=
(
FrameworkElement
)
list
.
ContainerFromIndex
(
1
);
secondContainer
.
Should
().
NotBeNull
();
LayoutInformation
.
GetLayoutSlot
(
secondContainer
).
Y
.
Should
().
Be
(
50
);
}
}
[
TestMethod
]
[
RunsOnUIThread
]
#if __IOS__ || __ANDROID__
...
...
src/Uno.UI/UI/Xaml/Controls/ListViewBase/VirtualizingPanelLayout.managed.cs
浏览文件 @
e05f7620
...
...
@@ -266,7 +266,7 @@ namespace Windows.UI.Xaml.Controls
// the line based on the average line height.
var
index
=
(
int
)(
ScrollOffset
/
_averageLineHeight
);
_dynamicSeedStart
=
ScrollOffset
-
_averageLineHeight
;
_dynamicSeedIndex
=
Uno
.
UI
.
IndexPath
.
FromRowSection
(
index
-
sign
,
0
);
_dynamicSeedIndex
=
Uno
.
UI
.
IndexPath
.
FromRowSection
(
index
==
0
?
-
1
:
index
-
sign
,
0
);
}
while
(
unappliedDelta
>
0
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录