我正在使用以下代碼將RichTextBlock.Visibility
屬性綁定到另一個控件的FocusState
屬性。在Windows 8 Metro風格應用程序中綁定到控件的FocusState
<RichTextBlock FontFamily="Segoe UI" FontSize="22" FontWeight="Light"
Foreground="{StaticResource SwiftLightTextBrush}"
Visibility="{Binding ElementName=ProfessionalHeadlineInput, Path=FocusState, Converter={StaticResource FocusStateToVisibilityConverter}}" >
的FocusStateToVisibilityConverter.Convert
的implentation如下:
public object Convert(object value, Type targetType, object parameter, string language)
{
var focusState = (FocusState)value;
return focusState == FocusState.Keyboard || focusState == FocusState.Pointer || focusState == FocusState.Programmatic ? Visibility.Visible : Visibility.Collapsed;
}
它可以是新手問題,但爲什麼當我「聚焦」到目標元件的結合不被施加(ProfessionalHeadlineInput
是一個TextBox
元素)使用鼠標或標籤導航?
我已經將斷點插入到Convert
方法中,但當我單擊或「跳轉」到文本框時,它不會被調用。
NB重要的部分 - 我的項目是Windows 8 Metro風格應用程序。
我設置了'Mode'爲'OneWay'。 'FocusState'是一個'DP',它實際上已經改變,以及'GotFocus'和'LostFocus'事件被正確觸發。但是,在頁面初始化期間,綁定僅應用一次。 – danyloid