2016-09-21 2 views
0

Я хотел бы знать, можно ли каким-либо образом «пометить» группу элементов управления в WPF, а затем восстановить эти элементы управления в функции window.xaml.cs.Значки WPF и элементы управления

Из-за расположения окна элементы управления не могут быть сгруппированы под любую структуру xaml .

Я хотел бы что-то вроде этого

<Button Selection="selection" /> 
<Textbox /> 
<Label Selection="selection" /> 

-

function someEvent() 
{ 
    //In here get a collection with the button and the Label using 'selection' 
} 

Важно то, что идентификатор не может быть уникальным, я не могу использовать Name, а также не должно быть общим, я can not use Label или Button.

И, наконец, как я уже сказал в начале, элементы управления не могут быть помещены в какую-либо группу. Они могут быть записаны отдельно.

Спасибо всем!

+0

Вариант один: вы можете использовать свойство Tag. Второй вариант: создать присоединенное свойство для представления группы. –

+1

Как сказал @Andrew в своем ответе, если вы «извлекаете группу элементов управления», возможно, есть более простой и простой способ сделать это, в большей степени соответствующий ортодоксальной практике XAML. Но если нет, привязанное свойство - это абсолютно путь. –

ответ

2

В соответствии с моим комментарием элементы управления WPF имеют свойство Tag, которое может использоваться для добавления произвольной информации в элемент управления. Тем не менее, лучшим решением является реализация Attached Property, который имеет как правильный тип, так и инкапсулирует намерение вашей метки.

С точки зрения «проблемы с XY» существует скорее основное требование, которое привело вас к этому конкретному вопросу. Поскольку вы не указали более подробную информацию, все, что я могу добавить, это то, что, вероятно, лучший способ справиться с такими вещами, как включение/отключение набора элементов управления или даже использование элемента ItemsControl с DataTemplate для обработки «группы» как одного организация. Я рекомендую включать детали сценария в ваши вопросы SO.

+0

Сделаю, спасибо за отзыв! – Lolrapa