Beispiel #1
0
        private static object GetValueThroughBinding(object item, Binding binding)
        {
            BindingExpressionHelper bindingExpressionHelper = new BindingExpressionHelper();

            try
            {
                bindingExpressionHelper.DataContext = item;
                BindingOperations.SetBinding(bindingExpressionHelper, ValueProperty, binding);
                return(bindingExpressionHelper.GetValue(ValueProperty));
            }
            finally
            {
                bindingExpressionHelper.ClearValue(ValueProperty);
            }
        }
Beispiel #2
0
        private static void TextBox_LostFocus(object sender, RoutedEventArgs e)
        {
            var textBox = sender as TextBox;

            if (textBox == null)
            {
                return;
            }

            var stringFormat = GetStringFormatOnLostFocus(textBox);

            if (!stringFormat.Contains("{0"))
            {
                stringFormat = $"{{0:{stringFormat}}}";
            }

            var value = BindingExpressionHelper.GetValue(textBox.DataContext, textBox.GetBindingExpression(TextBox.TextProperty).ParentBinding);

            textBox.Text = string.Format(stringFormat, value);
        }