WPF 在通过绑定更改属性后触发事件处理程序



我的WPF应用程序有一个窗口,其中包含第三方控制女巫加载数据。控件具有在数据开始加载和结束时显示和隐藏进度条的方法。我使用 MVVM 将数据绑定到我的控件。我需要属性女巫指示数据加载何时开始和结束,并且此属性必须在代码隐藏中可访问。我在窗口中添加了 Visibility="Hidden" 的复选框控件,并将其绑定到我的 ViewModel 中的属性标志,还在 Checked 事件上添加了事件处理程序:

<CheckBox Name="chkIndicator" Visibility="Hidden" IsChecked="{Binding IsDataLoading}" Checked="chkIndicator_Checked" />

在代码隐藏视图事件处理程序中:

private void chkIndicator_Checked(object sender, RoutedEventArgs e)
{
    if(this.chkIndicator.IsChecked.Value)
        tableViewOrders.ShowIndicator();
    else 
        tableViewOrders.HideIndicator();
}

在 ViewModel 中加载数据时:

public bool IsDataLoading
{
    get { return _isDataLoading;}
    set {
        _isDataLoading = value;
        PropertyChanged("IsDataLoading");
    }
}
...
public void MethodLoadingData()
{
    /*1*/ IsDataLoading = true;
    //here method for loading data to collection binded to tableViewOrders
    /*2*/ IsDataLoading = false;
}

当方法 MethodLoadData 执行时,行/1/工作正常 - 事件处理程序chkIndicator_Checked触发,但当/2/运行时 - 事件处理程序不会触发。有什么想法我错了吗?

您是否尝试过将"IsChecked"属性的绑定模式更改为双向或其他方式

  • http://msdn.microsoft.com/en-us/library/system.windows.data.binding.mode.aspx

相关内容

  • 没有找到相关文章

最新更新