我有可編輯的組合框,其中我基於某些邏輯而不是組合框項目動態添加了字符串。從WPF中的可編輯組合框中獲取高亮項目
現在,我想突出顯示的項目時,組合框得到關注,我知道ComboBox項已IsHighlighted屬性,它可以工作,但自從我加入一個字符串,
如何從C#得到突出顯示的刺? 請注意,如果我試圖將字符串轉換爲Combobox Item,它將會出錯!
我有可編輯的組合框,其中我基於某些邏輯而不是組合框項目動態添加了字符串。從WPF中的可編輯組合框中獲取高亮項目
現在,我想突出顯示的項目時,組合框得到關注,我知道ComboBox項已IsHighlighted屬性,它可以工作,但自從我加入一個字符串,
如何從C#得到突出顯示的刺? 請注意,如果我試圖將字符串轉換爲Combobox Item,它將會出錯!
不知道我真的明白你正在嘗試做的,但你可以得到與所選項目相關聯的ComboBoxItem一個辦法是做這樣的事情:
ComboBoxItem comboBoxItem = (ComboBoxItem)DraggedComboBox2.ItemContainerGenerator.ContainerFromItem(DraggedComboBox2.SelectedItem);
的你寫的代碼得到的選定項目不是高亮的!這個例子將做的工作適合你:
注:在隱藏文件中的代碼使用了高亮和LostFocus爲了解事件GotFocus當一個項目成爲「未加亮」:
<ComboBox Height="33" HorizontalAlignment="Left" Margin="128,107,0,0" Name="comboBox1" VerticalAlignment="Top" Width="245">
<ComboBox.Resources>
<Style TargetType="ComboBoxItem">
<EventSetter Event="GotFocus" Handler="GotFocusHandler" />
<EventSetter Event="LostFocus" Handler="LostFocusHandler" />
</Style>
</ComboBox.Resources>
<ComboBoxItem Content="Cat 1" />
<ComboBoxItem Content="Cat 2" />
<ComboBoxItem Content="Cat 3" />
<ComboBoxItem Content="Cat 4" />
</ComboBox>
private void GotFocusHandler(object sender, RoutedEventArgs e)
{
string HighlightedText = (sender as ComboBoxItem).Content.ToString();
//do some thing
}
private void LostFocusHandler(object sender, RoutedEventArgs e)
{
string HighlightedText = (sender as ComboBoxItem).Content.ToString();
//do some thing
}
謝謝澤維爾,我試過,但comboBoxItem是空的,任何建議? –