wpf - как использовать Path, ElementName с расширением разметки

Я использую это расширение разметки

<DataGridTextColumn Header="Something" 
                    Binding="{controls:SwitchBinding Something, Yes, No}" />

Все работает нормально, за исключением того, что теперь мне нужно указать путь и имя элемента для привязки (возможно, даже "режим").

Я безуспешно пытался:

Binding="{controls:SwitchBinding {Binding Path=SelectedItem.SystemDefined, ElementName=dgrdStatementBlocks}, Yes, No}"

Может кто-нибудь указать мне правильный способ сделать это?

Благодарю.

1 ответ

Решение

Зачем ты это сделал??

Binding="{controls:SwitchBinding {Binding Path=SelectedItem.SystemDefined, ElementName=dgrdStatementBlocks}, Yes, No}

Попробуйте следующее:

Binding="{controls:SwitchBinding Path=SelectedItem.SystemDefined, ElementName=dgrdStatementBlocks, ValueIfTrue=Yes, ValueIfFalse=No}

Редактировать:

Я пробовал это в образце WPF(.Net4) (не Silverlight) приложение. И следующие работали:

<CheckBox Name="CheckBox1"
            IsChecked="True" />
<TextBlock Name="TextBlock1"
            Text="{local:SwitchBinding ElementName=CheckBox1, Path=IsChecked, ValueIfTrue=Yes, ValueIfFalse=No}" />
Другие вопросы по тегам