组合框第一行不可选 [英] Combox first row not selectable

查看:33
本文介绍了组合框第一行不可选的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使组合框的第一行不可选择?(https:///docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.ComboBox?view=winrt-19041)

How to make first row of combobox not-selectable? (https://docs.microsoft.com/en-us/uwp/api/Windows.UI.Xaml.Controls.ComboBox?view=winrt-19041)

推荐答案

组合框第一行不可选

Combox first row not selectable

您可以检测 DropDownOpened 事件并使用 ContainerFromIndex 找到第一个项目,然后像下面这样禁用它.因为 Combobox 下拉是延迟加载的,所以我们需要在 DropDownOpened 事件中添加任务延迟.

You could detect DropDownOpened event and find the fist item with ContainerFromIndex then disable it like the following. Because Combobox dropdown is lazy load, so we need add the task delay in DropDownOpened event.

private async void MyCb_DropDownOpened(object sender, object e)
{
    await Task.Delay(100);
    var item = MyCb.ContainerFromIndex(0) as ComboBoxItem;
    if (item != null)
    {
        item.IsEnabled = false;
    }  
}

这篇关于组合框第一行不可选的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆