清除依赖项属性

rre*_*ves 1 c# wpf dependency-properties

我在从标准属性更新依赖项属性时遇到一些问题。

如果我将该属性设置为null或使用新数据更新它,我会以为它将重置依赖项属性。但是,看起来它只是将新数据堆积在最上面。

这是我正在使用的几个属性/依赖属性:

依赖属性

public static readonly DependencyProperty DataTableChartProperty = DependencyProperty.Register
    ("DataTableChart", typeof(DataTable), typeof(MainWindowViewModel));

public static readonly DependencyProperty ContentElementProperty = DependencyProperty.Register
    ("ContentElement", typeof(FrameworkElement), typeof(MainWindowViewModel));
Run Code Online (Sandbox Code Playgroud)

标准属性

public DataTable DataTableChart
{
    get { return (DataTable)this.GetValue(DataTableChartProperty); }
    set { this.SetValue(DataTableChartProperty, value); }

public FrameworkElement ContentElement
{
    get { return (FrameworkElement)this.GetValue(ContentElementProperty); }
    set { this.SetValue(ContentElementProperty, value); }
}
Run Code Online (Sandbox Code Playgroud)

我将不胜感激任何建议。提前致谢!

这就是我现在设置的方式...用于测试...

void _bw_DoWork(object sender, DoWorkEventArgs e)
    {
        var loadLog = new LoadLog();
        e.Result = loadLog.LoadCaseLogs(SelectedFiles);
    }

    void _bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
    {
        DataTableChart = null;
        ContentElement = null;
        ContentElement = blah;
        DataTableResult = e.Result as DataTable;
        DataTableChart = caseData.LoadUserData(DataTableResult);

        LoadingScreen = false;
    }

public ChartControl blah = new ChartControl();
Run Code Online (Sandbox Code Playgroud)

H.B*_*.B. 5

依赖属性是使用的清除ClearValue方法,将其设置为null它只是设置null,这是不一样的。