.Net Maui Picker 的 SelectedIndex 属性似乎无法正常工作

Leon Lu (Shanghai Wicresoft Co,.Ltd.) 78,276 信誉分 Microsoft 供应商
2024-11-01T06:01:02.31+00:00

.Net Maui SelectedIndex 属性似乎无法正常工作(尝试使用 SelectedIndex 设置值)。我无法将 SelectedPickerIndex 设置为 0,然后绑定列表中到控件的第 0 个元素。

 

此问题整理于:https://learn.microsoft.com/en-us/answers/questions/2108527/net-maui-selectedindex-property-for-the-picker-doe

.NET MAUI
.NET MAUI
一种 Microsoft 开源框架,用于构建跨移动设备、平板电脑、台式机的原生设备应用程序。
122 个问题
0 个注释 无注释
{count} 票

1 个答案

排序依据: 非常有帮助
  1. Yonglun Liu (Shanghai Wicresoft Co,.Ltd.) 46,821 信誉分 Microsoft 供应商
    2024-11-01T07:01:46.8066667+00:00

    你好,

    SelectedIndex 在 Picker 初始化完成之前不起作用,但在初始化完成后它可以正常工作。

    这在 Picker 文档的 Respond to item selection 中进行了说明。

    A Picker can be initialized to display a specific item by setting the SelectedIndex property. However, the SelectedIndex property must be set after initializing the Items collection.

    在 Maui 中,您可以在页面中使用 OnHandlerchanged 方法来确保 Picker 已初始化。

    protected override void OnHandlerChanged()
    {
        base.OnHandlerChanged();
        picker.SelectedIndex = 0;
    }
    

    更新:

    您可以使用 x:Name 特性在 xaml 中标记选取器的名称,并直接在代码隐藏中使用此名称来更改选取器的属性。

    请参考以下示例和文档。

    在 Xaml 中,您可以为不同的选取器设置不同的名称,例如:

    <Picker x:Name="picker1"
    Title="Select a monkey">
    <Picker.ItemsSource>
    <x:Array Type="{x:Type x:String}">
    <x:String>Baboon</x:String>
    <x:String>Capuchin Monkey</x:String>
    </x:Array>
    </Picker.ItemsSource>
    </Picker>
    <Picker x:Name="picker2"
    Title="Select a monkey">
    <Picker.ItemsSource>
    <x:Array Type="{x:Type x:String}">
    <x:String>Howler Monkey</x:String>
    <x:String>Japanese Macaque</x:String>
    </x:Array>
    </Picker.ItemsSource>
    </Picker>
    

    后续,如果要更改 picker1 的属性,可以直接按 name 进行修改。

    protected override void OnHandlerChanged()
            {
                base.OnHandlerChanged();
                picker1.SelectedIndex = 0;
            }
    

    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。 注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。