Как избежать скобок в индексаторе Binding - PullRequest
1 голос
/ 27 мая 2010

У меня есть следующий XAML:

<Grid x:Name="LayoutRoot" Background="White" DataContext="{Binding Source={StaticResource MyDataKey}}">
 <TextBox Name="_myId" Text="{Binding MyDictionary[(Textbox.Name)]}" />
</Grid>

Но он считает, что ключ в моем словаре называется "(Textbox.Name)", а не "_myId" Формат ниже работает, где у меня есть свойство в моем классе, называемое "_myId":

<TextBox Name="_myId" Text="{Binding (Textbox.Name)}" />

Я пытался использовать ^ и \, чтобы убрать скобки. Этот синтаксис поддерживается? Я пытаюсь избежать дублирования имени в двух атрибутах.

1 Ответ

2 голосов
/ 27 мая 2010

Вы не можете иметь ссылки на другие экземпляры в индексаторах в выражениях привязки XAML. Вы можете иметь только острые литералы, такие как Text="{Binding MyDictionary[somename]"}, которые c # эквивалентны myDictionary["somename"].

...