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所以阿伦的回答解决了你的问题?如果是,请记住将他的回答标记为答案谢谢