wpf - как использовать Path, ElementName с расширением разметки - PullRequest
1 голос
/ 31 января 2011

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

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

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

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

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

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

Спасибо.

1 Ответ

1 голос
/ 31 января 2011

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

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

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

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

Edit:

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

<CheckBox Name="CheckBox1"
            IsChecked="True" />
<TextBlock Name="TextBlock1"
            Text="{local:SwitchBinding ElementName=CheckBox1, Path=IsChecked, ValueIfTrue=Yes, ValueIfFalse=No}" />
...