Çok sayıda araç ipucuna sahip büyük bir uygulamam var. Araç ipuçları, sürekli değişen verilerin anlık görüntüsünü gösterir. Şu anda, verilerin bir anlık görüntüsünü yoklayarak ve ardından özellikleri ayarlayarak ve INotifyPropertyChanged desenini izleyerek yineliyorum. Bu çalışır, ancak sonuç, kullanıcının şanssız olmaları durumunda verilerin yenilenmediğini fark edebilmesidir. Ayrıca, uygulama, araç ipi yükseltilmediği için asla kullanılmayabilecek verilerin anlık görüntülerini hesaplayan çok fazla kaynak harcar. Yani, benim sorum yerine bazı iplik "ElapsedTime" güncelleme sahip olduğuBir ipucunu ciltleme okumak için nasıl zorlanır
public class ViewModel : INotifyPropertyChanged
{
public ViewModel()
{
StartTime = DateTime.Now;
}
public DateTime StartTime { get; set; }
public double ElapsedTime { get { return (DateTime.Now - StartTime).TotalSeconds; } }
protected void RaisePropertyChanged(string prop)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(prop));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
mülkiyet: ViewModel bir ile
<Window x:Class="WpfApplication2.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:l="clr-namespace:WpfApplication2"
Title="MainWindow" Height="350" Width="525">
<Window.DataContext>
<l:ViewModel />
</Window.DataContext>
<Grid>
<Button Content="Test"
ToolTip="{Binding ElapsedTime}" />
</Grid>
</Window>
:
Bu
noktayı göstermek için bir örnek uygulama Kullanıcının bir araç ipucuna ihtiyacı olması durumunda her saniye, XAML'de, ciltleme için gerekli değerin gerekli olup olmadığını söylemenin bir yolu var mı?
Aşağıdaki yanıtıma bakın. İçinde herhangi bir sorunla karşılaşırsanız bana bildirin. – Gopichandar