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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

數(shù)據(jù)綁定更新但視圖不是

數(shù)據(jù)綁定更新但視圖不是

C#
手掌心 2021-07-12 13:06:09
我有一個(gè)屬性 ( FileName ),當(dāng)我在調(diào)試器中觀察它時(shí)更新得很好(同時(shí)在視圖模型和 XAML 中懸停在屬性上),但 UI 不會(huì)反映值更新。我設(shè)置了一個(gè)斷點(diǎn)set { this.MutateVerbose(ref _fileName, value, RaisePropertyChanged()); },可以觀察它進(jìn)入它并通過RaisePropertyChanged().我通過 將其實(shí)例化為“未更新”的初始值FileName = "Not Updated";,雖然該屬性通過應(yīng)用程序的運(yùn)行持續(xù)時(shí)間成功更新為其他值FileName = SelectRandomString();,但 UI 永遠(yuǎn)不會(huì)更新。相關(guān)界面代碼:                            <TextBlock Text="{Binding FileName}" HorizontalAlignment="Center">                            <TextBlock.DataContext>                                <ns:ProgressViewModel />                            </TextBlock.DataContext>                        </TextBlock>MutateVerbose 的代碼:        public static void MutateVerbose<TField>(this INotifyPropertyChanged instance, ref TField field, TField newValue, Action<PropertyChangedEventArgs> raise, [CallerMemberName] string propertyName = null)        {        if (EqualityComparer<TField>.Default.Equals(field, newValue)) return;        field = newValue;        raise?.Invoke(new PropertyChangedEventArgs(propertyName));        }更新:如果我將進(jìn)度計(jì)時(shí)器作為視圖模型加載的一部分啟動(dòng),如下所示:        public ProgressViewModel()        {        KickOffProgressTimer();        }用戶界面按原樣更新。但我不理解這種行為,這是不可取的。我不希望該KickOffProgressTimer();方法在應(yīng)用程序啟動(dòng)后立即執(zhí)行,而是僅在從后面的主窗口代碼中單擊按鈕時(shí)執(zhí)行:        private void CircleButtonClick(object sender, RoutedEventArgs e)        {           ProgressViewModel pvm = new ProgressViewModel();           CircleButton.DataContext = pvm;           pvm.KickOffProgressTimer();        }
查看完整描述

2 回答

?
尚方寶劍之說

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊

您需要指定UpdateSourceTrigger將觸發(fā) UI 更新的事件:

<TextBlock Text="{Binding FileName, UpdateSourceTrigger=PropertyChanged}" ...


查看完整回答
反對(duì) 回復(fù) 2021-07-18
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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