1

当我在 WPF 应用程序中从一个字段切换到另一个字段时,我会突出显示与每个字段关联的标签。这适用于 ComboBox 和 TextBox 项目,但不适用于 ListViews 或 DatePickers。我在标签标签的绑定部分使用了 IsFocused 路径部分(参见下面的代码)。

<Label
    Style="{StaticResource styleLabelTextBlockLeft}"
    Target="{Binding ElementName=dpBrthDt}"
    Tag="{Binding ElementName=dpBrthDt, Path=(IsFocused)}"
>
    <TextBlock 
         TextWrapping="Wrap">When were you born?
    </TextBlock>                                  
</Label>
<DatePicker
    x:Name="dpBrthDt"
    HorizontalAlignment="Left"
    SelectedDate="{Binding
        Path=CurrentEntity.BrthDt, 
        Mode=TwoWay, 
        ValidatesOnDataErrors=True, 
        NotifyOnValidationError=True
    }"
    Width="115"
/>

任何想法为什么引用 IsFocused 的标记的绑定部分适用于 TextBoxes/ComboBoxes 而不是 DatePickers/ListViews?谢谢。

4

1 回答 1

0

可能是因为ListViews其中DatePickers包含多个元素,所以IsFocused元素是控件内部的东西,而不是实际的控件本身。

使用该属性IsKeyboardFocusWithin而不是IsFocused它应该可以工作

于 2012-06-21T17:09:06.947 回答