WPF随笔(一)
由于筆者的記憶力問題,所以把自己在實際開發中發現的一些東西寫下來,便于以后查看,由于涉獵WPF不是很久,故所涉及的東西在老鳥看來都是很簡單,很表層的,也希望大家多多指點,若內容存在不合理的地方,也請大家指出,筆者會及時糾正,并在此表示感謝。
<window...>
<stackpanel Width="100" FocusManager.FocusedElement="{Binding ElementName=defaultButton}">
? <button Content="Default" IsDefault="True" Name="defaultButton" Click="OnDefault">
? <button Content="Cancel" IsCancel="True" Name="cancelButton" Click="OnCancel">
? <button Content="Empty">
</stackpanel>
</window>
//C#
private void OnDefault(object sender,RoutedEventArgs args){
? if(defaultButton.IsDefaulted){
??? MessageBox.Show("Default Button Clicked!");
? }
}
private void OnCancel(object sender,RoutedEventArgs args){
? Close();
}
主要是理解IsCancel,IsDefault和IsDefaulted三個屬性的關系
當使用Tab鍵將輸入焦點移動到Empty按鈕上時,按回車鍵并不能導致按鈕樣式改變,也就是說用回車鍵按Emtpy按鈕是失效的。
如果界面聲明不設置Cancel按鈕的Click事件相應函數,那么,按鈕ESC鍵也不能導致Cancel按鈕的Click事件的觸發,即時界面聲明中設置了Cancel按鈕的IsCancel屬性為true。
在設置了一個Button類實例的IsCancel屬性為true的情況下,點擊ESC就是對該按鈕的點擊。
在設置了一個Button類實例的IsDefault屬性為true的情況下,點擊回車鍵就是對該按鈕的點擊,除非當前具有焦點的界面元素也處理回車鍵。
IsDefaulted屬性只有在IsDefault設置為true并且當前控件沒有焦點的時候為true,也就是說,當你在textBox中輸入了信息,然后點擊回車鍵以后,就是彈出相應的提示框,如果是Default按鈕有焦點,就算點擊回車,IsDefaulted屬性也為false。
轉載于:https://www.cnblogs.com/Google-/archive/2010/09/10/1823065.html
總結
- 上一篇: Axure RP 8.0激活码 Mac
- 下一篇: ORACLE搭建Stream过程中报错【