WPF随笔(一)
由于筆者的記憶力問題,所以把自己在實際開發(fā)中發(fā)現(xiàn)的一些東西寫下來,便于以后查看,由于涉獵WPF不是很久,故所涉及的東西在老鳥看來都是很簡單,很表層的,也希望大家多多指點,若內(nèi)容存在不合理的地方,也請大家指出,筆者會及時糾正,并在此表示感謝。
<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三個屬性的關(guān)系
當(dāng)使用Tab鍵將輸入焦點移動到Empty按鈕上時,按回車鍵并不能導(dǎo)致按鈕樣式改變,也就是說用回車鍵按Emtpy按鈕是失效的。
如果界面聲明不設(shè)置Cancel按鈕的Click事件相應(yīng)函數(shù),那么,按鈕ESC鍵也不能導(dǎo)致Cancel按鈕的Click事件的觸發(fā),即時界面聲明中設(shè)置了Cancel按鈕的IsCancel屬性為true。
在設(shè)置了一個Button類實例的IsCancel屬性為true的情況下,點擊ESC就是對該按鈕的點擊。
在設(shè)置了一個Button類實例的IsDefault屬性為true的情況下,點擊回車鍵就是對該按鈕的點擊,除非當(dāng)前具有焦點的界面元素也處理回車鍵。
IsDefaulted屬性只有在IsDefault設(shè)置為true并且當(dāng)前控件沒有焦點的時候為true,也就是說,當(dāng)你在textBox中輸入了信息,然后點擊回車鍵以后,就是彈出相應(yīng)的提示框,如果是Default按鈕有焦點,就算點擊回車,IsDefaulted屬性也為false。
轉(zhuǎn)載于:https://www.cnblogs.com/Google-/archive/2010/09/10/1823065.html
總結(jié)
- 上一篇: Axure RP 8.0激活码 Mac
- 下一篇: asp.net ajax控件工具集 Au