0
我的問題命令如下:WPF:如何執行時,上的UIElement屬性已經改變
我有一個文本編輯在我看來,它有一個屬性IsKeyboardFocusWithin,它告訴我,如果鍵盤光標位於TextEdit中供用戶輸入。
在我的視圖模型中,我有一個命令,我希望在用戶完成完整輸入並點擊屏幕上的其他位置時執行該命令。即 - 每當IsKeyboardFocusWithin設置爲false。
我就在想,我能想到的唯一辦法知道什麼時候IsKeyboardFocusWithin改變的是在文本編輯的風格使用觸發器:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsKeyboardFocusWithin" Value="False" />
<Condition Property="IsReadOnly" Value="False" />
</MultiTrigger.Conditions>
???
</MultiTrigger>
但我不知道在什麼地方命令,並有強烈的懷疑,我不能。
有誰知道這是可能的嗎? 如果不是,你可以推薦我做什麼?
非常感謝!
PP:輸入的文本被綁定到一個字符串屬性,我的命令會根據它的內容做不同的事情。
Text="{Binding Path=ChatSessionName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
我考慮的另一個解決方案是將** IsKeyboardFocusWithin **綁定到ViewModel上的一個屬性,並從setter中調用該命令。 這看起來像一個更類似MVVM的解決方案,因爲它避免了代碼隱藏,但我不喜歡爲了可以調用該命令而擁有整個屬性的想法。 這就是說,我很樂意就此進行討論。 – wyaneva 2014-11-21 13:44:57