У меня были похожие ситуации в ControlTemplate
s, где я хотел привязать атрибут «To» к значению (а не жестко-кодировать его), и наконец нашел решение.
Краткое примечание: если вы копаетесь в Интернете, вы найдете примеры людей, которые могут использовать привязку данных для свойств «От» или «Кому». Однако в этих примерах раскадровки не находятся в стиле или контрольной таблице . Если ваш Storyboard находится в стиле или ControlTemplate, вам придется использовать другой подход, например, это решение.
Это решение распространяется вокруг проблемы с замораживанием, поскольку оно просто оживляет двойное значение от 0 до 1 Он работает с умным использованием свойства Tag и Multiply-конвертера. Вы используете многосвязывание для привязки как к желаемому свойству, так и к вашему «масштабу» (тегу), которые умножаются вместе. В основном идея заключается в том, что значение вашего тега - это то, что вы оживляете, и его значение действует как «масштаб» (от 0 до 1), приведя значение «желаемого» значения к «полной шкале» после того, как вы активировали тег на 1.
Вы можете увидеть это в действии здесь . Суть этого заключается в следующем:
0.0
С помощью этого преобразователя значений:
public class MultiplyConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
double result = 1.0;
for (int i = 0; i < values.Length; i++)
{
if (values[i] is double)
result *= (double)values[i];
}
return result;
}
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
{
throw new Exception("Not implemented");
}
}
Вы можете проанализировать строку:
StringBuilder sb = new StringBuilder();
foreach(byte b in fileBytes)
{
sb.Append(Convert.ToString(b, 2).PadLeft(8, '0'));
}
var myValue = sb.ToString();