我希望ListView中的選定項目在用戶與Calendar控件交互時保持聚焦。WPF - 防止ListView失去焦點
當前用戶單擊列表中的某個項目時,它會變亮。
當他們點擊日曆焦點丟失,我不想。
如何防止我的日曆從ListView中竊取焦點? 或 如何防止我的ListView放棄焦點?
我希望ListView中的選定項目在用戶與Calendar控件交互時保持聚焦。WPF - 防止ListView失去焦點
當前用戶單擊列表中的某個項目時,它會變亮。
當他們點擊日曆焦點丟失,我不想。
如何防止我的日曆從ListView中竊取焦點? 或 如何防止我的ListView放棄焦點?
當用戶與日曆
交互您不能接收焦點停止日曆但你可以影響的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對於實際問題,這是一個很好的解決方法。 – BradleyDotNET 2014-09-19 23:16:29
這就是我一直在尋找的。非常感謝你! – 2014-09-22 16:46:38
你的兩個要求是不一致的。
根據定義,當用戶與控件「交互」時,他們給出了該控件的焦點。您不能與Calendar
控件「交互」,而ListView
控件具有焦點。
通過將IsEnabled
設置爲false(以及其他方式),您當然可以使Calendar
無法聚焦。你也可以在ListView
上設置一個事件,以便在失去時「竊取」焦點,但是你會與其他控件進行交互非常困難,並且大多數交互都是不可能的。
您應該評估爲什麼它不能失去焦點和工作要求。
這個問題似乎是不清楚。目前還不清楚你是否希望listView始終擁有***實際的焦點***或者你只是希望它始終具有***突出顯示的顏色***? – 2014-09-19 21:49:45