日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

WPF:数据绑定--PropertyChangeNotification属性更改通知

發布時間:2025/7/25 168 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WPF:数据绑定--PropertyChangeNotification属性更改通知 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

PropertyChangeNotification屬性更改通知

實現效果:
1.拍賣金額自動隨屬性值變化而通知界面綁定的值變化。


關鍵詞 :

  • INotifyPropertyChanged
  • ObservableCollection<T>
  • 界面xaml:
    數據模板

    <DataTemplate x:Key="BidItemDataTemplate"><Canvas Width="300" Height="20"> <TextBlock FontSize="14" Foreground="DarkSlateGray" Width="180" Canvas.Left="0" Text="{Binding Path=BidItemName}"/> <TextBlock FontSize="14" Foreground="DarkSlateBlue" Text="$" Canvas.Left="180"/> <TextBlock FontSize="14" Foreground="DarkSlateBlue" Width="80" Canvas.Left="190" Text="{Binding Path=BidItemPrice}"/> </Canvas> </DataTemplate> <ItemsControl Name="MyListBox" DockPanel.Dock="Top" Background="Silver" Width="315" Height="80" ItemsSource="{Binding Source={StaticResource MyDataSource}}" ItemTemplate="{StaticResource BidItemDataTemplate}"/>

    后臺代碼:
    數據類,顯示其中的一個屬性更通知:

    public decimal BidItemPrice {get { return _biditemprice; }set { if (_biditemprice.Equals(value) == false) { _biditemprice = value; // Call OnPropertyChanged whenever the property is updated OnPropertyChanged("BidItemPrice"); } } }

    具體業務代碼:
    初始化類時執行每隔一段時間,更新屬性的值,然后作為綁定源反映到界面數值變動。

    public class BidCollection : ObservableCollection<Bid> { private readonly Bid _item1 = new Bid("Perseus Vase", (decimal) 24.95); private readonly Bid _item2 = new Bid("Hercules Statue", (decimal) 16.05); private readonly Bid _item3 = new Bid("Odysseus Painting", (decimal) 100.0); public BidCollection() { Add(_item1); Add(_item2); Add(_item3); CreateTimer(); } private void Timer1_Elapsed(object sender, ElapsedEventArgs e) { _item1.BidItemPrice += (decimal) 1.25; _item2.BidItemPrice += (decimal) 2.45; _item3.BidItemPrice += (decimal) 10.55; } private void CreateTimer() { var timer1 = new Timer { Enabled = true, Interval = 2000 }; timer1.Elapsed += Timer1_Elapsed; } }

    擴展:

  • 設置 Enabled 到 true 等同于調用 Start, ,而設置 Enabled 到 false 等同于調用 Stop。
  • 如果 Enabled 設置為 true 和 AutoReset 設置為 false, ,則 Timer 引發 Elapsed 事件僅當第一次間隔到期。
  • 要引發的信號 Elapsed 事件總是在排隊等待執行 ThreadPool 線程。 這可能會導致 Elapsed 后引發事件 Enabled 屬性設置為 false。??
  • 轉載于:https://www.cnblogs.com/Jeely/p/11075991.html

    總結

    以上是生活随笔為你收集整理的WPF:数据绑定--PropertyChangeNotification属性更改通知的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。