2014-12-29 3 views
0

Если у меня есть список, содержащий следующие индексы цвета Microsoft Word, как получить его значение и установить его как индекс цвета?Получение ListBox Выбранный элемент Значение DataContext

<ListBox x:Name="FindColorListBox" HorizontalAlignment="Left" Height="135" Margin="10,198,0,0" VerticalAlignment="Top" Width="107"> 
    <ListBoxItem Content="None"> 
     <ListBoxItem.DataContext> 
      <word:WdColorIndex>wdAuto</word:WdColorIndex> 
     </ListBoxItem.DataContext> 
    </ListBoxItem> 
    <ListBoxItem Content="Auto"> 
     <ListBoxItem.DataContext> 
      <word:WdColorIndex>wdAuto</word:WdColorIndex> 
     </ListBoxItem.DataContext> 
    </ListBoxItem> 
    <ListBoxItem Content="Black"> 
     <ListBoxItem.DataContext> 
      <word:WdColorIndex>wdBlack</word:WdColorIndex> 
     </ListBoxItem.DataContext> 
    </ListBoxItem> 
</listbox> 

Так пользователь щелкает «FindColorListBox» элемент, скажем, «Black», и я хочу, чтобы получить Word.WdColorIndex.Black от datacontext для того, чтобы установить

find.ColorIndex = Word.WdColorIndex.wdBlack 

В принципе я думаю, что это что-то вроде :

find.ColorIndex = FindColorListBox.SelectedItem.DataContext; 

Но очевидно, что это не так ...

+0

Я думаю, что я получил его, я должен бросить его: (Word.WdColorIndex) FindColorListBox.SelectedIndex; – MysticRyuujin

+0

Нет, это не работает правильно, что просто захватывает значение индекса и пытается его использовать, но это не точно. – MysticRyuujin

ответ

0

Ну, вы почти у его:

var selectedColorIndex = (Word.WdColorIndex)(((FrameworkElement) 
    (FindColorListBox.SelectedItem)).DataContext) 
Смежные вопросы