<DataTemplate>
<StackPanel Orientation="Vertical" Name="AddressStackPanel" >
<ComboBox Name="ComboBox" ItemsSource="{Binding Path=MatchedAddressList}" DisplayMemberPath="Address" SelectedIndex="0" SelectionChanged="ComboBox_SelectionChanged"/>
<TextBlock Name="InputtedAddress" Text="{Binding Path=InputtedAddress}" Foreground={Hopefully pass the UI element to the dataconverter } />
</StackPanel>
</DataTemplate>
ComboBox имеет адреса, совпадающие с базой геоданных с самым высоким выбранным значением оценки. Текстовый блок имеет введенный пользователем адрес, который использовался для сопоставления. Если адрес тот же, я хочу, чтобы на переднем плане был зеленый, в противном случае красный.
Я подумал, что, может быть, мне удастся передать весь TextBlock в преобразователь данных, получить его Parent StackPanel, получить дочерний элемент 0, привести к Combobox, получить 0-й элемент и сравнить, а затем вернуть красный или зеленый. Это выполнимо?
В противном случае я думаю, что мне нужно пройти по визуальному дереву, которое, как мне кажется, столь же уродливо