我在 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));