我一直在阅读有关Control.IsTemplateFocusTarget
的内容,它是Windows.UI.Xaml.Controls.Control上的一个XAML附加属性。
文档很少:
获取或设置一个值,该值指示此元素是否是具有焦点视觉对象的控件模板的一部分。
[...]
此属性只能在ControlTemplate中使用。如果在ControlTemplate之外设置此属性,则会忽略它。如果在ControlTemplate中多次设置此附加属性,则会引发异常。Disclaimer: I work for Microsoft.
1条答案
按热度按时间eimct9ow1#
就我所能确定的,
Control.IsTemplateFocusTarget
与那个简短文档中描述的差不多:如果您在ControlTemplate中的项目上设定
Control.IsTemplateFocusTarget="true"
(例如,如果您正在重新建立CheckBox的模板),视觉化焦点矩形将会出现在该项目上,而不是出现在整个模板周围。有趣的是,我相信
Control.IsTemplateFocusTarget
在某些情况下也适用于DataTemplates,比如ListView。这个简单的ListView在它的
ItemTemplate
中使用Control.IsTemplateFocusTarget
来显示TextBlock周围的焦点矩形:有趣的是,这种行为似乎并不嵌套:如果您的
DataTemplate
加载了一个UserControl(<MyGreatListViewItemTemplate Item="{x:Bind}" />
),则Control.IsTemplateFocusTarget
不会对该代码产生任何影响。