第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

WPF RadioButton&CheckBox 的IsChecked屬性問題

WPF RadioButton&CheckBox 的IsChecked屬性問題

慕村225694 2018-12-07 00:08:39
問題是這樣的,代碼段如下 <RadioButton Name="RadioA" GroupName="hello" Canvas.Top="0" Canvas.Left="0" Checked="RadioButton_Checked" DataContext="0,0" IsChecked="True">(0,0)</RadioButton> <Button Name="myButton" Canvas.Left="100" Canvas.Top="100" Width="100" Height="70" Click="myButton_Click"> 我設(shè)置了IsChecked為true,那么程序啟動時就要執(zhí)行 RadioButton_Checked這個事件,這個事件如下 1 private void RadioButton_Checked(object sender, RoutedEventArgs e) 2 { 3 4 myButton.RenderTransformOrigin = p; 5 } 那么,這個程序是要報錯的,出錯顯示myButton為空,為什么會這樣?是因為這樣mybutton沒初始出來?用winform測試了一下,沒有這種問題,但是,winfrom貌似一開始不執(zhí)行 RadioButton_CheckedChanged這個事件?這是wpf的bug么?后來再研究了下,發(fā)現(xiàn)這樣是可以避免mybutton為空這種錯誤的在構(gòu)造函數(shù)里來設(shè)置IsChecked屬性 public MainWindow() { this.InitializeComponent(); // 在此點下面插入創(chuàng)建對象所需的代碼。 RadioA.IsChecked = true; } 同樣,winform里面這樣設(shè)置,程序執(zhí)行的時候,它又執(zhí)行了 RadioButton_CheckedChanged這個事件。徹底暈了,哪位朋友幫我想想,wpf里面,IsChecked那樣設(shè)置為什么就要報錯,謝謝啦 ?
查看完整描述

1 回答

?
森欄

TA貢獻1810條經(jīng)驗 獲得超5個贊

兩點:

1.WPF窗體的初始化事件里會執(zhí)行所有控件的初始化

2.WPF里的屬性觸發(fā)器不等同于winform的事件監(jiān)控機制.也就是即使沒有用戶點擊或鉤選等操作,屬性修改就會觸發(fā)Checked等事件.

所以,在初始化RadioButton控件時,會設(shè)置IsChecked屬性,于是觸發(fā)了Checked事件,而此時另一個控件尚未初始化,所以對其的引用當(dāng)然會報錯.

查看完整回答
反對 回復(fù) 2019-01-21
  • 1 回答
  • 0 關(guān)注
  • 1503 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號