回答
那麼我想這使用FocusManager.FocusedElement ..並取得了INTIAL重點
列表框本身..所以它具有focus..but沒有元素被選中.. 如果u按下或標籤列表框的..the第1個要素將被選中...
<Window
......
FocusManager.FocusedElement="{Binding ElementName=listbox2}">
<ListBox x:Name="listbox2" HorizontalAlignment="Left"
VerticalAlignment="Bottom" Width="117.333" Height="116"
Margin="30.667,0,0,30">
<ListBoxItem>Jim</ListBoxItem>
<ListBoxItem>Mark</ListBoxItem>
<ListBoxItem>Mandy</ListBoxItem>
</ListBox>
您可以設置的SelectedIndex爲-1:
<ListBox ItemsSource="{Binding MyData}" SelectedIndex="-1"/>
注:我想用純XAML要做到這一點,如果您有任何代碼背後的想法,那麼請不要打擾自己。
可惜你不能在XAML中做的一切......你通常能避免代碼隱藏,但你仍然需要寫一些轉換器,標記擴展或附加屬性
是SelectedIndex的你的財產尋找 ?或者,也許我不明白你的意思......
你得到了我的觀點,但是當我將selectedindex設置爲-1或者將選定項目設置爲x:Null時,第一項仍然被選中 – Shimmy 2009-09-09 10:32:34
<ListBox SelectioMode="Single" SelectedIndex="-1"/>
我不希望選擇模式爲Single。 – Shimmy 2009-09-09 20:25:52
添加一個空白項。
這裏的問題相同。任何人都找到了「乾淨的」解決方案
這裏的問題是一樣的,它會導致一堆觸發器執行。
明顯的解決辦法/修復:
1)從XAML
2取出SelectionChanged事件處理程序)添加處理程序在構造InitializeComponents已加載列表框後。
相關的問題和評論shuold現有評論。 – Shimmy 2010-04-07 10:15:58
嘗試
IsSynchronizedWithCurrentItem="False"
刪除IsSynchronizedWithCurrentItem = 「真」 的下一個SelectionChanged事件,如果需要添加它。 這解決了我的問題
這是我經常使用的技術。它建立在上述將FocusedElement
屬性添加到您的Window
或UserControl
的示例上。
我的交易是我不希望我的窗口上的任何控件都有焦點。對我來說,解決方案是創建一個虛擬控件,它沒有UI並將焦點分配給它。它只是恰巧,Control
完全符合該法案:
<UserControl
x:Class="MyControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FocusManager.FocusedElement="{Binding ElementName=focus_thief}"
mc:Ignorable="d">
<Grid>
<!-- no renderable UI -->
<Control Name="focus_thief"/>
<!-- wants focus, but won't get it -->
<ListBox>
<ListBoxItem>First Item</ListBoxItem>
</ListBox>
</Grid>
</UserControl>
- 1. Silverlight ListBox始終強調選擇的第一個項目
- 2. Google地圖自動完成功能始終選擇第一項
- 3. 總是選擇第一個項目listbox vb.net
- 4. 選擇第一個項目
- 5. 第一個選項卡始終選擇堆疊的ActionBar
- 6. 如何始終顯示HTML選擇中的第一個選項?
- 7. jQuery在單個選擇時自動選擇第一個選項
- 8. Kendo組合框始終挑選第一個項目
- 9. auto_complete_for:防止自動選擇第一個項目
- 10. 當數據可用時,Comboxbox自動選擇第一個項目
- 11. listbox多個選擇項目頂部
- 12. 選擇選項始終選擇
- 13. 如何從jQuery自動完成列表中自動選擇第一個項目
- 14. WPF ListBox,當選擇多個項目時,爲什麼多項選擇中的第一項被省略?
- 15. 選擇popUpContextMenu中的第一個項目
- 16. 選擇kendoComboBox中的第一個項目
- 17. 選擇RadComboBox中的第一個項目
- 18. 如何使ListBox中的第一項自動選中?
- 19. 爲什麼選擇菜單中的第一項始終爲空?
- 20. 迭代始終默認爲第一個項目並且無法選擇當前項目
- 21. 自動選擇第一個下拉選項
- 22. 使用jQuery將ListBox(選擇框)滾動到某個項目
- 23. 位置在選擇框頂部選擇了選擇框選項而沒有自動選擇第一個選項
- 24. 選擇第一個選項時自動更改第二個下拉列表
- 25. Jquery自動完成 - 當選擇一個項目時,光標移動到開始
- 26. wp7 listbox selected item在另一個表格中選擇項目
- 27. ListBox選擇的項目是指一個變量
- 28. WPF listbox在鼠標上選擇項目
- 29. listbox在winform中選擇的項目
- 30. Foreach在Listbox中選擇的項目?
我覺得你的意思,即當u將焦點移到列表框,第一個項目總是選擇? (突出顯示..如果你按下,第二項獲得焦點?) – 2009-09-09 10:19:43
1)對於標記我的問題爲重複的人,你不明白這個問題,我也是發佈重複的人。 2)@Madi,當列表框被渲染時,它的第一個項目被自動選中,我想禁用這個功能。 – Shimmy 2009-09-09 10:30:30
hmm ..您可以使用FocusManager將焦點集中到某個項目/元素中(全部在xaml中)...但我不知道如何使它專注於什麼:D – 2009-09-09 10:34:05