当用户与Calendar控件交互时,我希望ListView中的所选项目保持专注。
目前,当用户点击列表中的某个项目时,它会突出显示。
当他们点击日历焦点丢失时,我不想要。
如何阻止我的日历从ListView中窃取焦点? 要么 如何阻止我的ListView放弃焦点?
答案 0 :(得分:3)
当用户与日历交互时,您无法阻止日历获得焦点
但是当没有焦点时,您可以影响ListView所选项目的颜色 您需要设置未聚焦的ListView所选项目的颜色 这些设置为透明但只选择一种颜色
<Style x:Key="ListViewItemNoColor" TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Black"/>
<!-- Background of selected item when focussed -->
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<!-- Background of selected item when not focussed -->
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Transparent" />
</Style.Resources>
</Style>
答案 1 :(得分:0)
你的两个要求不一致。
根据定义,当用户&#34;互动&#34;通过控制,他们给予控制焦点。你不能互动&#34;使用Calendar
控件,而ListView
控件具有焦点。
通过将Calendar
设置为false(以及其他方式),您当然可以使IsEnabled
无法对焦。你也可以在ListView
上发布一个事件来窃取&#34;只要它丢失就会集中注意力,但你很难与其他控件进行交互,大多数交互都是不可能的。
您应该评估为什么它会失去焦点并解决该要求。