C# 获取ListBox选定项DataContext值
如果我有一个包含以下Microsoft Word颜色索引的列表框,那么如何获取其值并将其设置为颜色索引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
<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)