2012-05-08 3 views
0

Я хочу вызвать включенное состояние кнопки в соответствии с типом текущего выбора.Как включить/отключить кнопку в зависимости от типа выделения в WPF?

E.g. У меня есть дерево, которое отображает родителей и их детей. Если выбор находится на «родительском» элементе, кнопка «btnShowParentData» включена. Я сделал это с помощью ValueConvertion:

<Button name="btnShowParentData" IsEnabled="{Binding ElementName=tree, Path=SelectedValue, Converter={StaticResource ParentSelectedConv}}" /> 

Я ищу более элегантный способ. Я не хочу создавать ConverterClass для каждого типа выбора.

ответ

0

Я не хочу создавать преобразователь для каждого типа выбора.

Вы можете иметь свойства на преобразователе для его параметризации.

+0

С вашей оценкой: Какой тип будет параметром? Простая строка, сравниваемая с typeof (ParentClass) .Name? – mamuesstack

+0

Сделайте это 'Type' и сравните его напрямую, в XAML вы можете легко получить' typeof (Class) 'using' {x: Тип ns: Class} '. (Если свойство имеет тип 'Type', вам даже не нужно' x: Type', он автоматически преобразуется из строки) –