gpt4 book ai didi

c# - UWP XAML BladeView 控件 - 将新创建的 BladeItem 滚动到 View 中

转载 作者:行者123 更新时间:2023-11-30 16:40:08 25 4
gpt4 key购买 nike

我正在使用 Microsoft 的 Windows Community Toolkit 中的 BladeView 控件。当应用程序窗口小于 640px 时,BladeMode 属性更改为 Fullscreen

当在我后面的代码中创建一个新 Blade 时,我希望 BladeView 向右滚动以便显示新 Blade 。 似乎我应该能够使用 StartBringIntoView() 来完成此操作,但它什么也没做。

这是我正在做的:

if (bladeView.BladeMode == BladeMode.Fullscreen)
{
// current window width
Rect windowBounds = Window.Current.Bounds;
int currentWidth = (int)windowBounds.Width;

// scroll to view
BringIntoViewOptions opts = new BringIntoViewOptions();
Rect target = new Rect { Height = windowBounds.Height, Width = windowBounds.Width, X = currentWidth, Y = 0 };
opts.TargetRect = target;
newBlade.StartBringIntoView(opts);
}

这是我的 XAML 树的样子:

enter image description here

最佳答案

我只需要在调用 StartBringIntoView() 之前使用 bladeView.UpdateLayout()

例子:

if (bladeView.BladeMode == BladeMode.Fullscreen)
{
// update the layout so StartBringIntoView() works
bladeView.UpdateLayout();

// scroll BladeView to newly-created BladeItem
newBlade.StartBringIntoView();
}

关于c# - UWP XAML BladeView 控件 - 将新创建的 BladeItem 滚动到 View 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51863836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com