获取列表框选定项数据上下文值
本文关键字:数据 上下文 列表 获取 | 更新日期: 2023-09-27 18:35:27
如果我有一个包含以下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>
所以用户点击一个"FindColorListBox"项,说"黑色",我想从datacontext
获取Word.WdColorIndex.Black
以便设置
find.ColorIndex = Word.WdColorIndex.wdBlack
基本上我认为它是这样的:
find.ColorIndex = FindColorListBox.SelectedItem.DataContext;
但显然这是不对的...
好吧,你几乎拥有它:
var selectedColorIndex = (Word.WdColorIndex)(((FrameworkElement)
(FindColorListBox.SelectedItem)).DataContext)