Namespace BionicCode.Utilities.Net
Classes
AppSettingsConnector
Exposes a basic static API to access the AppSettings file in order to manage application settings.
AsyncRelayCommand
A reusable command that encapsulates the implementation of ICommand with support for async/await command delegates.
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
The AsyncRelayCommand<TParam> accepts asynchronous command handlers and supports data bindng to properties like IsExecuting by implementing INotifyPropertyChanged.
Call and await the ExecuteAsync() method or one of its overloads to execute the command explicitly asynchronously.
ICommand
AsyncRelayCommand<TParam>
A reusable command that encapsulates the implementation of ICommand with support for async/await command delegates.
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
The AsyncRelayCommand<TParam> accepts asynchronous command handlers and supports data bindng to properties like IsExecuting by implementing INotifyPropertyChanged.
Call and await the ExecuteAsync() method or one of its overloads to execute the command explicitly asynchronously.
ICommand
AsyncRelayCommandCommon
A reusable command that encapsulates the implementation of ICommand with support for async/await command delegates.
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
The AsyncRelayCommandCommon<TParam> accepts asynchronous command handlers and supports data bindng to properties like IsExecuting by implementing INotifyPropertyChanged.
Call and await the ExecuteAsync() method or one of its overloads to execute the command explicitly asynchronously.
ICommand
AsyncRelayCommandCommon<TParam>
A reusable command that encapsulates the implementation of ICommand with support for async/await command delegates.
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
The AsyncRelayCommandCommon<TParam> accepts asynchronous command handlers and supports data bindng to properties like IsExecuting by implementing INotifyPropertyChanged.
Call and await the ExecuteAsync(TParam) method or one of its overloads to execute the command explicitly asynchronously.
ICommand
AutoResetStream
Decorates a Stream instance to support auto-rewind after read/write access.
BooleanMultiValueConverter
An IMultiValueConverter implementation that checks if all values are true. Supports OneWay or OneTime only.
BoolToStringConverter
Implementation of IValueConverter that converts a Boolean to a custom string representation e.g., convert true to "Enabled".
DefaultValueInverter
Class that inverts a value. Supports inversion of Byte, Int32, Double, Decimal, Single, Boolean and Visibility.
This class can be used with the InvertExtension.
Dialog
Attached behavior. Displays a Window based on an implementation of IDialogViewModel assigned to the attached property DialogDataContextProperty and a custom DataTemplate.
DialogViewModel
Implementation of IDialogViewModel. This abstract class implements the dialog data handling logic and is therefore preferred over a custom implementation of IDialogViewModel.
DividerValueConverter
An IValueConverter implementation that enables to devide a bound numeric value by a divisor value provided via the ConverterParameter property.
EnumExtension
XAML extension to return the values of an enumeration.
EqualsExtension
XAML Equality comparer.
EventAggregator
Allows listening to events without introducing direct coupling between observer and observable. The observer can handle events withou introducing a dependency to the event source.
Factory<TObject>
Provides a base class of IFactory<TCreate> that supports lifetime management using scopes and FactoryMode.
FilePathTruncateConverter
Converter to truncate file paths exceeding a specific length by replacing a number of characters with an ellipsis.
HelperExtensions
Collection of extension methods e.g. visual tree traversal
HelperExtensionsCommon
A collection of extension methods for various default types
HighlightRangeCollection
A collection of HighlightRange items. Can be used in XAML.
IgnoreAttribute
Attribute to decorate types or members.
For example, the attribute is used by the ToDataTable<TData>(IEnumerable<TData>) extension method.
IgnoreInObjectGraphAttribute
Attribute to decorate class members that should be ignored when traversing an instance's object graph.
InvertBooleanConverter
Implementation of IValueConverter that inverts a bool value.
InvertExtension
XAML extension to invert the Value property using the current IValueInverter. Supports every MarkupExtension e.g., BindingBase.
InvertValueConverter
Implementation of IValueConverter that inverts Boolean, Visibility, Int32, Double, Decimal and Single
IsGreaterThanValueConverter
MostRecentlyUsedFileItem
An immutable item that represents a Most Recently Used file (MRU) table entry.
MruManager
API that manages a MRU (Most Recently Used files) table which is stored in the AppSettings file.
NullObjectFactory<TObject>
Implementation of INullObject and IFactory<TCreate>. Used to create an instance of a INullObject where IsNull is set to true by default.
ObservablePropertyChangedCollection<TItem>
Raises CollectionChanged event when the property of an item raised PropertyChanged. The NotifyCollectionChangedAction for this particular notification is Reset with a reference to the notifying item and the item's index. .
ObservableQueue<TItem>
A Queue<T> that implements INotifyCollectionChanged and INotifyPropertyChanged.
Since the behavior itself is not changed, see Queue<T> for a detailed API documentation.
PasswordBoxService
Attached behavior for PasswordBox that will invoke an ICommand to send the SecureString of the SecurePassword property to a command target e.g., view model using a registered ICommand registered with the CommandProperty attached property.
PercentageToPixelConverter
PercentageToThicknessConverter
PopupService
Set of attached behaviors for the Popup control.
PrimitiveExtension
XAML markup extension that allows to define primitive type values like Boolean or Int32.
Profiler
Helper methods to measure code execution time.
ProfilerBatchResult
The result of a multi iteration benchmark session.
The ProfilerBatchResult consolidates all ProfilerResult result items of a single benchmark run
and provides meta data on hte collected data.
ProgressChangedEventArgs
Event args for the ProgressChangedEventHandler.
PropertyValidationResult
The result that must be returned from a custom validation delegate tha matches the PropertyValidationDelegate<TValue> delegate.
PropertyValueChangedArgs<TValue>
Event args fro the PropertyValueChangedEventHandler<TValue> event delegate.
ReflectionHelper
A set of helpers to simplify some reflection tasks.
SelectorService
An attached behavior that enhances the functionality of a Selector for example by enabling infinite scrolling (carousel) or item selection on scroll.
TextControl
Attached behavior that supports dynamic text highlighting for controls derived from TextBlock or RichTextBox.
ValueChangedEventArgs<TValue>
Generic EventArgs implementation that supports value changed information by holding the old and the new value.
ValueEventArgs<TValue>
Generic EventArgs implementation that supports to store a value.
ViewModel
Base class recommended to use for view models across the application. Encapsulates implementations of INotifyPropertyChanged and INotifyDataErrorInfo.
ViewModelCommon
Base class recommended to use for view models across the application. Encapsulates implementations of INotifyPropertyChanged and INotifyDataErrorInfo.
ViewModelCommon.SetValueOptions
Configuration objectect to configure the behavior of the property set methods.
Win32Caret
Wrapper of Win32 caret functions.
WrongEventHandlerSignatureException
Structs
CaretInfo
Struct to store caret information.
HighlightRange
Represents a text range, described by a StartIndex and EndIndex.
ProfilerResult
The result of a single benchmark run or iteration.
ProgressData
Interfaces
IAsyncRelayCommand
IAsyncRelayCommand<TParam>
IAsyncRelayCommandCommon
An interface to define a reusable command that encapsulates the implementation of ICommand with support for async/await command delegates and data binding (implements INotifyPropertyChanged).
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
IAsyncRelayCommandCommon<TParam>
An interface to define a reusable command that encapsulates the implementation of ICommand with support for async/await command delegates and data binding (implements INotifyPropertyChanged).
Enables instant creation of an ICommand without implementing the ICommand interface for each command.
IDialogViewModel
The DataContext and binding source for the dialog Window. Implement this interface or the derived abstract DialogViewModel to transport data from the view to the view model via binding. The IDialogViewModel will be the content of the dialog window. This means the corresponding DataTemplate can define e.g. an input form that can bind to the IDialogViewModel. Register a callback with the ResponseCallbackAsync property to process the DialogResult and the data of the IDialogViewModel.
IDialogViewModelProvider
The binding source for the current dialog view and the attached property DialogDataContextProperty.
IDialogViewModelProviderSource
Interface that supports notification of observers to request display of a dialog. The event args is the view model of IDialogViewModel which serves as the DataContext and binding source of the dialog.
IEventAggregator
Allows listening to events without introducing direct coupling between observer and observable. The observer can handle events withou introducing a dependency to the event source.
IFactory<TCreate>
Interface to implement Abstract Factory pattern.
Implementers are encouraged to extend the abstract Factory<TObject> class instead of creating their own.
IInitializable
An interface to enable polymorphism for types like view model classes etc. that require an explicit (asynchronous) initialization.
IMruManager
Interface that describes an API that manages a MRU (Most Recently Used files) table which is stored in the AppSettings file.
INullObject
Null-Object Pattern implementation
IProgressReporter
Interface to provide progress properties to be exposed by a view model for data binding a progress reporter GUI control.
IProgressReporterCommon
Interface to provide progress properties to be exposed by a view model for data binding a progress reporter GUI control.
IValueInverter
Provide an implementation to invert an object or objects.
IViewModel
Encapsulates implementations of INotifyPropertyChanged and INotifyDataErrorInfo and adds PropertyValueChanged event which is raised in tandem with PropertyChanged except it provides addition data like old value and new value.
IViewModelCommon
Encapsulates implementations of INotifyPropertyChanged and INotifyDataErrorInfo and adds PropertyValueChanged event which is raised in tandem with PropertyChanged except it provides addition data like old value and new value.
Enums
CaretVisibility
DialogResult
An enumeration to represent the dialog' status after it was closed.
FactoryMode
Describes lifetime scope of object instances
FileExtensions
An enumeration of common file extensions.
InversionMode
Enumeration to set the inversion direction of the InvertExtension.
Delegates
ProfilerLoggerAsyncDelegate
A delegate to print the results of the Profiler to a output (e.g. file).
ProfilerLoggerDelegate
A delegate to print the results of the Profiler to a output (e.g. file).
ProgressChangedEventHandler
Eventhandler for the ProgressChanged event.
PropertyValidationDelegate<TValue>
A delegate that can be passed to a TrySetValue<TValue>(TValue, Func<TValue, (Boolean IsValid, IEnumerable<Object> ErrorMessages)>, ref TValue, String) and overload to provide a custom validation method.
PropertyValidationDelegateAsync<TValue>
A delegate that can be passed to a TrySetValueAsync<TValue>(TValue, TValue, Func<TValue, Task<(Boolean IsValid, IEnumerable<Object> ErrorMessages)>>, SetBackingFieldDelegate<TValue>, ViewModelCommon.SetValueOptions, IEqualityComparer<TValue>, String) and overload
to provide a custom asynchroous validation method.
PropertyValueChangedEventHandler<TValue>
PropertyChanged event handler that supports standard property changed signature events with additional old value and new value parameters.
SetBackingFieldDelegate<TValue>
A delegate that defines a method to set the backing field of a property.