1

WPF にカスタム コントロールがあり、ネットワーク データが利用可能になったら更新する必要があります。タイマーでステータスをチェックし、リフレッシュが必要なときに RefreshMe(); を呼び出します。直接更新する方法がないため、ダミーのプロパティを使用し、そこにFrameworkPropertyMetadataOptions.AffectsRenderを追加しました。

しかし、常にうまくいくとは限りません。

void RefreshMe()
{
   RefreshDummyCounter++;
}

public int RefreshDummyCounter
        {
            get { return (int)GetValue(RefreshDummyCounterProperty); }
            set { SetValue(RefreshDummyCounterProperty, value); }
        }

        // Using a DependencyProperty as the backing store for RefreshDummyCounter.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty RefreshDummyCounterProperty =
            DependencyProperty.Register("RefreshDummyCounter", typeof(int), typeof(FastListView), 
            new FrameworkPropertyMetadata(0,FrameworkPropertyMetadataOptions.AffectsRender|FrameworkPropertyMetadataOptions.AffectsParentArrange));
4

0 に答える 0