Флажок - правильный контроль. Вам просто нужно правильно обозначить его: «Включить только устройства: [] с охлаждением». Для меня это кажется однозначным, что снятие флажка означает применение фильтра и включение обоих устройств с охлаждением и без него. В общем, пользователи интерпретируют пробел, в том числе непроверенный, как «не запрашивают/фильтруют по этому критерию», а не как «инвертируют этот критерий фильтра запросов».
Если вы не уверены, используйте радиокнопки (или выпадающий список, если пространство плотно): «Включить только устройства:() При охлаждении() с охлаждением или без него».
Если вы хотите включить опцию фильтрации без охлаждения, то вы должны использовать радио или выпадающий список: «Включить только устройства:() При охлаждении() Без охлаждения.«Точно так же, если вам нужно показать более двух состояний, вы должны использовать радиокнопки или выпадающий список:« Включить только устройства:() с охлаждением,() без охлаждения, () С охлаждением или без него ».
Вы правы, что использование флажка tri-state будет путать. Смешанное состояние используется для обозначения «некоторые да, некоторые нет», а не «как да, так и нет». Рекомендации по взаимодействию Windows UX специально запрещают использование смешанного состояния флажка в качестве третьего состояния для одного элемента (в этом случае вы фильтруете) или разрешить пользователям выбирать смешанное состояние (pg49).
В целом этого следует избегать.
Я боялся использовать тристатный флажок, потому что я думаю, что люди не знают об этом, но по умолчанию он по умолчанию в сером состоянии действительно может работать. – Tarscher
Чтобы проверить это, вы всегда можете провести некоторое удобство для использования в коридоре. http://en.wikipedia.org/wiki/Usability_testing#Hallway_testing – Thomas
Проблема с tristate cheboc aproach заключается в том, что у меня есть только 2 состояния (все/да), а не (все/да/нет). Я должен будет отключить никакое состояние программно. – Tarscher