Projektdateien hinzufügen.

This commit is contained in:
Kevin Krüger
2023-07-24 12:00:34 +02:00
parent 656751e10b
commit 0d00a90942
210 changed files with 45049 additions and 0 deletions

View File

@@ -0,0 +1,376 @@
namespace VideoBrowser.Converters
{
using System;
using System.Windows;
using System.Windows.Media;
/// <summary>
/// Defines the <see cref="BoolToBoolConverter" />
/// </summary>
public class BoolToBoolConverter : BoolToValueConverter<bool>
{
#region Fields
private static readonly Lazy<ValueConverter> _instance = new Lazy<ValueConverter>(() => new BoolToBoolConverter());
#endregion Fields
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="BoolToBoolConverter"/> class.
/// </summary>
public BoolToBoolConverter()
{
TrueValue = false;
FalseValue = true;
}
#endregion Constructors
#region Properties
/// <summary>
/// Gets the Instance
/// </summary>
public static ValueConverter Instance
{
get { return _instance.Value; }
}
#endregion Properties
}
/// <summary>
/// Defines the <see cref="BoolToBrushConverter" />
/// </summary>
public class BoolToBrushConverter : BoolToValueConverter<Brush>
{
}
/// <summary>
/// Defines the <see cref="BoolToByteConverter" />
/// </summary>
public class BoolToByteConverter : BoolToValueConverter<Byte>
{
}
/// <summary>
/// Defines the <see cref="BoolToColorConverter" />
/// </summary>
public class BoolToColorConverter : BoolToValueConverter<Color>
{
}
/// <summary>
/// Defines the <see cref="BoolToDecimalConverter" />
/// </summary>
public class BoolToDecimalConverter : BoolToValueConverter<Decimal>
{
}
/// <summary>
/// Defines the <see cref="BoolToDoubleConverter" />
/// </summary>
public class BoolToDoubleConverter : BoolToValueConverter<Double>
{
}
/// <summary>
/// Defines the <see cref="BoolToHorizontalAlignmentConverter" />
/// </summary>
public class BoolToHorizontalAlignmentConverter : BoolToValueConverter<HorizontalAlignment>
{
}
/// <summary>
/// Defines the <see cref="BoolToInt16Converter" />
/// </summary>
public class BoolToInt16Converter : BoolToValueConverter<Int16>
{
}
/// <summary>
/// Defines the <see cref="BoolToInt32Converter" />
/// </summary>
public class BoolToInt32Converter : BoolToValueConverter<Int32>
{
}
/// <summary>
/// Defines the <see cref="BoolToInt64Converter" />
/// </summary>
public class BoolToInt64Converter : BoolToValueConverter<Int64>
{
}
/// <summary>
/// Defines the <see cref="BoolToObjectConverter" />
/// </summary>
public class BoolToObjectConverter : BoolToValueConverter<Object>
{
}
/// <summary>
/// Defines the <see cref="BoolToPointConverter" />
/// </summary>
public class BoolToPointConverter : BoolToValueConverter<Point>
{
}
/// <summary>
/// Defines the <see cref="BoolToRectConverter" />
/// </summary>
public class BoolToRectConverter : BoolToValueConverter<Rect>
{
}
/// <summary>
/// Defines the <see cref="BoolToSByteConverter" />
/// </summary>
public class BoolToSByteConverter : BoolToValueConverter<SByte>
{
}
/// <summary>
/// Defines the <see cref="BoolToSingleConverter" />
/// </summary>
public class BoolToSingleConverter : BoolToValueConverter<Single>
{
}
/// <summary>
/// Defines the <see cref="BoolToStringConverter" />
/// </summary>
public class BoolToStringConverter : BoolToValueConverter<String>
{
}
/// <summary>
/// Defines the <see cref="BoolToStyleConverter" />
/// </summary>
public class BoolToStyleConverter : BoolToValueConverter<Style>
{
}
/// <summary>
/// Defines the <see cref="BoolToThicknessConverter" />
/// </summary>
public class BoolToThicknessConverter : BoolToValueConverter<Thickness>
{
}
/// <summary>
/// Defines the <see cref="BoolToUInt16Converter" />
/// </summary>
public class BoolToUInt16Converter : BoolToValueConverter<UInt16>
{
}
/// <summary>
/// Defines the <see cref="BoolToUInt32Converter" />
/// </summary>
public class BoolToUInt32Converter : BoolToValueConverter<UInt32>
{
}
/// <summary>
/// Defines the <see cref="BoolToUInt64Converter" />
/// </summary>
public class BoolToUInt64Converter : BoolToValueConverter<UInt64>
{
}
/// <summary>
/// Defines the <see cref="BoolToValueConverter{T}" />
/// </summary>
/// <typeparam name="T"></typeparam>
public class BoolToValueConverter<T> : ValueConverter
{
#region Properties
/// <summary>
/// Gets or sets the FalseValue
/// </summary>
public T FalseValue { get; set; }
/// <summary>
/// Gets or sets the TrueValue
/// </summary>
public T TrueValue { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// The Convert
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="System.Globalization.CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return this.FalseValue;
else
return (bool)value ? this.TrueValue : this.FalseValue;
}
/// <summary>
/// The ConvertBack
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="System.Globalization.CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
public override object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return value != null ? value.Equals(this.TrueValue) : false;
}
#endregion Methods
}
/// <summary>
/// Defines the <see cref="BoolToVerticalAlignmentConverter" />
/// </summary>
public class BoolToVerticalAlignmentConverter : BoolToValueConverter<VerticalAlignment>
{
}
/// <summary>
/// Defines the <see cref="BoolToVisibilityConverter" />
/// </summary>
public class BoolToVisibilityConverter : BoolToValueConverter<Visibility>
{
#region Fields
private static readonly Lazy<ValueConverter> _trueIsVisibleConverter = new Lazy<ValueConverter>(() => new BoolToVisibilityConverter() { TrueValue = Visibility.Visible, FalseValue = Visibility.Collapsed });
#endregion Fields
#region Properties
/// <summary>
/// Gets the TrueIsVisibleConverter
/// </summary>
public static ValueConverter TrueIsVisibleConverter
{
get { return _trueIsVisibleConverter.Value; }
}
#endregion Properties
}
/// <summary>
/// Defines the <see cref="EqualsToBoolConverter" />
/// </summary>
public class EqualsToBoolConverter : BoolToValueConverter<String>
{
#region Properties
/// <summary>
/// Gets or sets the CompareValue
/// </summary>
public string CompareValue { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// The Convert
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="System.Globalization.CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return this.FalseValue;
else if (CompareValue != null)
return value.ToString() == CompareValue ? this.TrueValue : this.FalseValue;
return System.Convert.ToBoolean(value) ? this.TrueValue : this.FalseValue;
}
#endregion Methods
}
/// <summary>
/// Defines the <see cref="EqualsToBrushConverter" />
/// </summary>
public class EqualsToBrushConverter : BoolToValueConverter<Brush>
{
#region Properties
/// <summary>
/// Gets or sets the CompareValue
/// </summary>
public string CompareValue { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// The Convert
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="System.Globalization.CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return this.FalseValue;
else if (CompareValue != null)
return String.Equals(value.ToString(), CompareValue, StringComparison.CurrentCultureIgnoreCase) ? this.TrueValue : this.FalseValue;
return System.Convert.ToBoolean(value) ? this.TrueValue : this.FalseValue;
}
#endregion Methods
}
/// <summary>
/// Defines the <see cref="EqualsToVisibilityConverter" />
/// </summary>
public class EqualsToVisibilityConverter : BoolToValueConverter<Visibility>
{
#region Properties
/// <summary>
/// Gets or sets the CompareValue
/// </summary>
public string CompareValue { get; set; }
#endregion Properties
#region Methods
/// <summary>
/// The Convert
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="System.Globalization.CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
public override object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if (value == null)
return this.FalseValue;
else if (CompareValue != null)
return value.ToString() == CompareValue ? this.TrueValue : this.FalseValue;
return System.Convert.ToBoolean(value) ? this.TrueValue : this.FalseValue;
}
#endregion Methods
}
}

View File

@@ -0,0 +1,51 @@
namespace VideoBrowser.Converters
{
using System;
using System.Globalization;
using System.Windows.Data;
/// <summary>
/// Defines the <see cref="MultiplyConverter" />.
/// </summary>
public class MultiplyConverter : IMultiValueConverter
{
#region Methods
/// <summary>
/// The Convert.
/// </summary>
/// <param name="values">The values<see cref="object[]"/>.</param>
/// <param name="targetType">The targetType<see cref="Type"/>.</param>
/// <param name="parameter">The parameter<see cref="object"/>.</param>
/// <param name="culture">The culture<see cref="CultureInfo"/>.</param>
/// <returns>The <see cref="object"/>.</returns>
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
var result = 1.0;
for (var i = 0; i < values.Length; i++)
{
if (values[i] is double)
{
result *= (double)values[i];
}
}
return result;
}
/// <summary>
/// The ConvertBack.
/// </summary>
/// <param name="value">The value<see cref="object"/>.</param>
/// <param name="targetTypes">The targetTypes<see cref="Type[]"/>.</param>
/// <param name="parameter">The parameter<see cref="object"/>.</param>
/// <param name="culture">The culture<see cref="CultureInfo"/>.</param>
/// <returns>The <see cref="object[]"/>.</returns>
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new Exception("Not implemented");
}
#endregion Methods
}
}

View File

@@ -0,0 +1,226 @@
namespace VideoBrowser.Converters
{
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Markup;
/// <summary>
/// Defines the <see cref="ValueConverter" />
/// </summary>
public class ValueConverter : MarkupExtension, IValueConverter, IMultiValueConverter
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="ValueConverter"/> class.
/// </summary>
protected ValueConverter()
{
}
#endregion Constructors
#region Methods
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value.</param>
/// <returns></returns>
public object Convert(object value)
{
return this.Convert(value, null);
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="parameter">The parameter.</param>
/// <returns></returns>
public object Convert(object value, object parameter)
{
return this.Convert(value, null, parameter, null);
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value produced by the <see cref="Binding" /> source.</param>
/// <param name="targetType">The type of the <see cref="Binding" /> target property.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>The <see cref="object"/></returns>
public virtual object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value.</param>
/// <returns></returns>
public object ConvertBack(object value)
{
return this.ConvertBack(value, null);
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="parameter">The parameter.</param>
/// <returns></returns>
public object ConvertBack(object value, object parameter)
{
return this.ConvertBack(value, null, parameter, null);
}
/// <summary>
/// Converts a value.
/// </summary>
/// <param name="value">The value that is produced by the <see cref="Binding" /> target.</param>
/// <param name="targetType">The type to convert to.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>The <see cref="object"/></returns>
public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
/// <summary>
/// Converts a set of values to a single value.
/// </summary>
/// <param name="values">The values.</param>
/// <returns></returns>
public object MultiConvert(object[] values)
{
return this.MultiConvert(values, null);
}
/// <summary>
/// Converts a set of values to a single value.
/// </summary>
/// <param name="values">The values.</param>
/// <param name="parameter">The parameter.</param>
/// <returns></returns>
public object MultiConvert(object[] values, object parameter)
{
return this.MultiConvert(values, null, parameter, null);
}
/// <summary>
/// Converts source values to a value for the <see cref="Binding" /> target. The data binding engine calls this method when it propagates the values from source bindings to the <see cref="Binding" /> target.
/// </summary>
/// <param name="values">The array of values that the source bindings in the <see cref="T:System.Windows.Data.MultiBinding"/> produces. The value <see cref="F:System.Windows.DependencyProperty.UnsetValue"/> indicates that the source binding has no value to provide for conversion.</param>
/// <param name="targetType">The type of the <see cref="Binding" /> target property.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>The <see cref="object"/></returns>
public virtual object MultiConvert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
/// <summary>
/// Converts a set of values to a single value.
/// </summary>
/// <param name="value">The value.</param>
/// <returns></returns>
public object[] MultiConvertBack(object value)
{
return this.MultiConvertBack(value, null);
}
/// <summary>
/// Converts a set of values to a single value.
/// </summary>
/// <param name="value">The value.</param>
/// <param name="parameter">The parameter.</param>
/// <returns></returns>
public object[] MultiConvertBack(object value, object parameter)
{
return this.MultiConvertBack(value, null, parameter, null);
}
/// <summary>
/// Converts a <see cref="Binding" /> target value to the source binding values.
/// </summary>
/// <param name="value">The value that the <see cref="Binding" /> target produces.</param>
/// <param name="targetTypes">The array of types to convert to. The array length indicates the number and types of values that are suggested for the method to return.</param>
/// <param name="parameter">The converter parameter to use.</param>
/// <param name="culture">The culture to use in the converter.</param>
/// <returns>The <see cref="object[]"/></returns>
public virtual object[] MultiConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
/// <summary>
/// Returns this instace.
/// </summary>
/// <param name="serviceProvider">Object that can provide services for the markup extension.</param>
/// <returns>The <see cref="object"/></returns>
public sealed override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}
/// <summary>
/// The Convert
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return this.Convert(value, targetType, parameter, culture);
}
/// <summary>
/// The Convert
/// </summary>
/// <param name="values">The values<see cref="object[]"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
object IMultiValueConverter.Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
return this.MultiConvert(values, targetType, parameter, culture);
}
/// <summary>
/// The ConvertBack
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetType">The targetType<see cref="Type"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="CultureInfo"/></param>
/// <returns>The <see cref="object"/></returns>
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return this.ConvertBack(value, targetType, parameter, culture);
}
/// <summary>
/// The ConvertBack
/// </summary>
/// <param name="value">The value<see cref="object"/></param>
/// <param name="targetTypes">The targetTypes<see cref="Type[]"/></param>
/// <param name="parameter">The parameter<see cref="object"/></param>
/// <param name="culture">The culture<see cref="CultureInfo"/></param>
/// <returns>The <see cref="object[]"/></returns>
object[] IMultiValueConverter.ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
return this.MultiConvertBack(value, targetTypes, parameter, culture);
}
#endregion Methods
}
}