触发器 Xamarin.Forms 选择器
Trigger Xamarin.Forms Picker
我可以通过编程方式触发选择器吗?
我想要选择器旁边的一个按钮,表明选择器是可点击的 "dropdown"。但是单击按钮时如何打开选择器?
很遗憾没有;选择器的内部工作几乎完全在渲染器中,不会通过 API.
公开
您可以命名选择器(例如 myPicker)并调用其 Focus 事件。请确保您在调用 myPicker.Focus()
时处于主线程中
正如@Hutjepower 和 this xamarin forums post 提到的,以下代码 应该 有效:
Device.BeginInvokeOnMainThread(() =>
{
if (yourPicker.IsFocused)
yourPicker.Unfocus();
yourPicker.Focus();
});
但是我发现它目前不适用于 Windows 8.1 和 UWP 应用程序,至少在 Xamarin.Forms 的最新 2.3.4-pre1 版本中是这样。不过,我还没有在任何 phone/tablet 设备上测试过它。希望这个错误会在以后的版本中得到修复。我创建了 a bug report for this problem.
我可以通过编程方式触发选择器吗?
我想要选择器旁边的一个按钮,表明选择器是可点击的 "dropdown"。但是单击按钮时如何打开选择器?
很遗憾没有;选择器的内部工作几乎完全在渲染器中,不会通过 API.
公开您可以命名选择器(例如 myPicker)并调用其 Focus 事件。请确保您在调用 myPicker.Focus()
时处于主线程中正如@Hutjepower 和 this xamarin forums post 提到的,以下代码 应该 有效:
Device.BeginInvokeOnMainThread(() =>
{
if (yourPicker.IsFocused)
yourPicker.Unfocus();
yourPicker.Focus();
});
但是我发现它目前不适用于 Windows 8.1 和 UWP 应用程序,至少在 Xamarin.Forms 的最新 2.3.4-pre1 版本中是这样。不过,我还没有在任何 phone/tablet 设备上测试过它。希望这个错误会在以后的版本中得到修复。我创建了 a bug report for this problem.