68 lines
2.5 KiB
C++
68 lines
2.5 KiB
C++
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
// NoesisGUI - http://www.noesisengine.com
|
|
// Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved.
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#ifndef __GUI_BINDINGOPERATIONS_H__
|
|
#define __GUI_BINDINGOPERATIONS_H__
|
|
|
|
|
|
#include <NsCore/Noesis.h>
|
|
#include <NsGui/CoreApi.h>
|
|
|
|
|
|
namespace Noesis
|
|
{
|
|
|
|
class DependencyObject;
|
|
class DependencyProperty;
|
|
class BaseBinding;
|
|
class Binding;
|
|
class BaseBindingExpression;
|
|
class BindingExpression;
|
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
/// Provides static methods to manipulate bindings.
|
|
///
|
|
/// https://msdn.microsoft.com/en-us/library/system.windows.data.bindingoperations.aspx
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
struct NS_GUI_CORE_API BindingOperations
|
|
{
|
|
/// Removes all bindings from the specified DependencyObject
|
|
static void ClearAllBindings(DependencyObject* target);
|
|
|
|
/// Removes the binding from a property if there is one
|
|
static void ClearBinding(DependencyObject* target, const DependencyProperty* dp);
|
|
|
|
/// Retrieves the BindingBase object that is set on the specified property
|
|
static BaseBinding* GetBindingBase(const DependencyObject* target,
|
|
const DependencyProperty* dp);
|
|
|
|
/// Retrieves the Binding object that is set on the specified property
|
|
static Binding* GetBinding(const DependencyObject* target, const DependencyProperty* dp);
|
|
|
|
/// Returns the BaseBindingExpression object associated with the specified binding target
|
|
/// property on the specified object
|
|
static BaseBindingExpression* GetBindingExpressionBase(const DependencyObject* target,
|
|
const DependencyProperty* dp);
|
|
|
|
/// Returns the BindingExpression object associated with the specified binding target property
|
|
/// on the specified object
|
|
static BindingExpression* GetBindingExpression(const DependencyObject* target,
|
|
const DependencyProperty* dp);
|
|
|
|
/// Returns a value that indicates whether the specified property is currently data-bound
|
|
static bool IsDataBound(const DependencyObject* target, const DependencyProperty* dp);
|
|
|
|
/// Creates and associates a new instance of BaseBindingExpression with the specified binding
|
|
/// target property
|
|
static BaseBindingExpression* SetBinding(DependencyObject* target, const DependencyProperty* dp,
|
|
BaseBinding* binding);
|
|
};
|
|
|
|
}
|
|
|
|
|
|
#endif
|