回答
那么我想这使用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