2013-09-20 2 views
1

У меня есть ComboBox определяются следующим образом:Получить текстовое значение из пользовательского ComboBox

<ComboBox Width="200" Height="30" Grid.Column="0" x:Name="ExistingSpeciesComboBox" 
      ItemsSource="{Binding SpeciesColorCollection}" HorizontalAlignment="Left"> 
    <ComboBox.ItemTemplate> 
     <DataTemplate> 
      <StackPanel Orientation="Horizontal"> 
       <Rectangle Fill="{Binding Path=Brush}" Stroke="Black" StrokeThickness="1" Height="15" Width="30"/> 
       <w:WTextBlock Text="{Binding Name}" VerticalAlignment="Center" 
           Foreground="{StaticResource SmallControlForegroundBrush}"/> 
      </StackPanel> 
     </DataTemplate> 
    </ComboBox.ItemTemplate> 

SpeciesColorCollection является ObservableCollection типа ColorObject

Public Class ColorObject 
    Public Property Name As String 
    Public Property Brush As Brush 
End Class 

выпадающий список отображает элементы из коллекции правильно, но моя проблема в том, что когда я пытаюсь получить выделенный текст из ComboBox в MultiBinding, я получаю ColorObject вместо имени. Как мне получить значение «Имя» из WTextBlock в ComboBox? Ниже приведена привязка, которую я использую для моей команды. Конвертер возвращает только строки.

<MultiBinding Converter="{StaticResource mySpeciesSetupConverter}"> 
    <MultiBinding.Bindings> 
     <Binding ElementName="NewSpeciesName" Path="Text" /> 
     <Binding ElementName="ExistingSpeciesComboBox" Path="Text" /> 
    </MultiBinding.Bindings> 
</MultiBinding> 

ответ

1
<MultiBinding Converter="{StaticResource mySpeciesSetupConverter}"> 
    <MultiBinding.Bindings> 
     <Binding ElementName="NewSpeciesName" Path="Text" /> 
     <Binding ElementName="ExistingSpeciesComboBox" Path="SelectedItem.Name" /> 
    </MultiBinding.Bindings> 
</MultiBinding> 
+0

Спасибо, что сделал это. Я знал, что это должно быть что-то простое, но я просто не мог на нее напасть! – user10001110101

+0

@dkirkdrei это здорово, так почему бы вам не принять ответ;) –

+0

Ответ принят! Я пытался, но это заставило меня ждать 7 минут ?? – user10001110101