回答
那麼我想這使用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. 總是選擇第一個項目listbox vb.net
- 2. 如何始終顯示HTML選擇中的第一個選項?
- 3. 當數據可用時,Comboxbox自動選擇第一個項目
- 4. auto_complete_for:防止自動選擇第一個項目
- 5. Kendo組合框始終挑選第一個項目
- 6. listbox多個選擇項目頂部
- 7. 選擇選項始終選擇
- 8. 選擇popUpContextMenu中的第一個項目
- 9. 選擇kendoComboBox中的第一個項目
- 10. 選擇RadComboBox中的第一個項目
- 11. 爲什麼選擇菜單中的第一項始終爲空?
- 12. 自動選擇第一個下拉選項
- 13. 位置在選擇框頂部選擇了選擇框選項而沒有自動選擇第一個選項
- 14. listbox在winform中選擇的項目
- 15. WPF listbox在鼠標上選擇項目
- 16. Foreach在Listbox中選擇的項目?
- 17. Dropdownlistfor在批量編輯時始終選擇的第一個值
- 18. DropdownList值選擇始終返回第一個值
- 19. CSS3選擇器 - 選擇的第一個項目或項目之後
- 20. VBA第一個數組項目始終是空的
- 21. 依賴於第一個選擇選項更改第二個選擇選項
- 22. 如何自動選擇綁定的silverlight列表框中的第一個項目?
- 23. 是否建議爲Xamarin項目始終選擇目標AnyCPU?
- 24. .jsx始終在一個React項目中?
- 25. 從另一個選定的ListBox項目的WPF ListBox值然後上下移動
- 26. 如何選擇一個選擇框第一個選項的jQuery
- 27. C#listbox選擇並取消選擇MultiExtended模式下的項目
- 28. 確保始終選擇TPopup菜單中至少有一個項目
- 29. ToggleButton組:確保在列表框中始終選擇一個項目
- 30. C1RichTextBox 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