Xamarin.forms 如何仅在有键盘的情况下移动滚动条

Xamarin.forms 如何仅在有键盘的情况下移动滚动条,xamarin.forms,Xamarin.forms,我用这个功能来移动我的滚动条,但是这个功能在我没有键盘的时候被激活,我只想在有键盘的时候使用它,我怎么解决这个问题呢 <Entry Placeholder="entry" Focused="EntryKeyboardHandle_Focused" void EntryKeyboardHandle_Focused(object sender, FocusEventArgs e) { Device.BeginInvokeOnMainThread(

我用这个功能来移动我的滚动条,但是这个功能在我没有键盘的时候被激活,我只想在有键盘的时候使用它,我怎么解决这个问题呢

<Entry    Placeholder="entry" Focused="EntryKeyboardHandle_Focused"

void EntryKeyboardHandle_Focused(object sender, FocusEventArgs e)
        {
            Device.BeginInvokeOnMainThread(async () =>
            {
                    await Task.Delay(10);
                    await MainScroll.ScrollToAsync(0, 100, true);
            });
        }

{
等待任务。延迟(10);
等待MainScroll.ScrollToAsync(0,100,true);
});
}
我找到了这根线

我的条目名为“
entry
”,在我的代码后面
entry.Focused+=keyboardService.keyboardishown但是我得到了这个错误

事件“IKeyboardService.KeyboardIsShown”只能出现在 +的左侧=或-=


好的,根据你找到的线索,你可以试试这段代码

在构造函数中添加此代码

private bool _keyboardIsOn;

cto(){
 // Initio
 keyboardService.KeyboardIsShown += (sender, e){ _keyboardIsOn = true; }
 keyboardService.KeyboardIsHidden += (sender, e){ _keyboardIsOn = false; }
}

不,您可以检查是否有
\u keyboardIsOn
并添加您的密码。

已经有一个线程使用这个[@Alen.Toma],但是如何使用var keyboardService=Xamarin.Forms.DependencyService.Get()?该线程已经告诉您如何为IOS和android创建两个名为
KeyboardService
的类,然后将它们与
DependencyService
@Alen.Toma一起使用,谢谢,但我发现错误,找不到接口error@mikkylekyle所以阿伦的回答解决了你的问题?如果是,请记住将他的回答标记为答案谢谢