C# 获取ListBox选定项DataContext值

C# 获取ListBox选定项DataContext值,c#,wpf,ms-word,datacontext,listboxitem,C#,Wpf,Ms Word,Datacontext,Listboxitem,如果我有一个包含以下Microsoft Word颜色索引的列表框,那么如何获取其值并将其设置为颜色索引 <ListBox x:Name="FindColorListBox" HorizontalAlignment="Left" Height="135" Margin="10,198,0,0" VerticalAlignment="Top" Width="107"> <ListBoxItem Content="None"> <ListBoxIt

如果我有一个包含以下Microsoft Word颜色索引的列表框,那么如何获取其值并将其设置为颜色索引

<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>
基本上,我认为它是这样的:

find.ColorIndex = FindColorListBox.SelectedItem.DataContext;

但显然这是不对的…

好吧,你几乎做到了:

var selectedColorIndex = (Word.WdColorIndex)(((FrameworkElement) 
     (FindColorListBox.SelectedItem)).DataContext)

我想我得到了,我必须投下它:(Word.WdColorIndex)FindColorListBox.SelectedIndex;不,它不能正常工作,只是获取索引值并尝试转换它,但它不准确。
var selectedColorIndex = (Word.WdColorIndex)(((FrameworkElement) 
     (FindColorListBox.SelectedItem)).DataContext)