Tag: ivalueconverter

WPF ValueConverter – 不可转换值的标准返回

在过去的一年中,我看到许多不同的价值转换者出于许多不同的目的,来自许多不同的作者。 我脑海中浮现的一件事就是他们所返回的“默认”价值的广泛差异。 例如; public class MyConverter: IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { // OK, we test for some undesirable, unconvertable situation, typically null… if (value == null) { // And here are a variety of 'defaults' that I have seen, these begin the most typical. return null; return […]

WPF BooleanToVisibilityConverter转换为隐藏,而不是折叠时为false?

有没有办法使用现有的WPF BooleanToVisibilityConverter转换器,但将False值转换为隐藏,而不是默认的折叠,或者我应该写我自己的? 我正在一个项目中,这样做很简单(共享的东西进入一个单独的解决scheme,并且重build/签入/合并过程是一个过程的一个杂草丛生的庞然大物),所以我宁愿如果我只能传递一个参数给现有的参数,而不是跳过刚刚提到的箍。

Source = null的ImageSourceConverter错误

我将图像的Source属性绑定到一个string。 这个string可能是null,在这种情况下,我只是不想显示一个图像。 但是,我在我的debugging输出中得到以下内容: System.Windows.Data错误:23:无法将types'<null>'中的'<null>'转换为具有默认转换的'en-AU'文化types'System.Windows.Media.ImageSource'; 考虑使用Binding的Converter属性。 NotSupportedException:'System.NotSupportedException:ImageSourceConverter不能从(null)转换。 System.ComponentModel.TypeConverter.GetConvertFromException(Object value)at MS.Internal.Data.DefaultValueConverter.ConvertHelper(Object o,Type destinationType,DependencyObject)上System.Windows.Media.ImageSourceConverter.ConvertFrom(ITypeDescriptorContext上下文,CultureInfo文化,对象值) targetElement,CultureInfo culture,布尔isForward)' 我宁愿如果这不显示,因为它只是噪音 – 有没有办法压制它?

Moq +unit testing – System.Reflection.TargetParameterCountException:参数计数不匹配

我打算使用带有多参数函数的lambdaexpression式,但是当我尝试调用mock.Object.Convert(value, null, null, null);时,Moq会在运行时抛出这个exceptionmock.Object.Convert(value, null, null, null); 线。 System.Reflection.TargetParameterCountException:参数计数不匹配 代码是: var mock = new Mock<IValueConverter>(); mock.Setup(conv => conv.Convert(It.IsAny<Object>(), It.IsAny<Type>(), It.IsAny<Object>(), It.IsAny<CultureInfo>())).Returns((Int32 num) => num + 5); var value = 5; var expected = 10; var actual = mock.Object.Convert(value, null, null, null); 什么是实施它的正确方法?

如何传递一个整数作为ConverterParameter?

我想绑定到一个整数属性: <RadioButton Content="None" IsChecked="{Binding MyProperty, Converter={StaticResource IntToBoolConverter}, ConverterParameter=0}" /> 我的转换器是: [ValueConversion(typeof(int), typeof(bool))] public class IntToBoolConverter : IValueConverter { public object Convert(object value, Type t, object parameter, CultureInfo culture) { return value.Equals(parameter); } public object ConvertBack(object value, Type t, object parameter, CultureInfo culture) { return value.Equals(false) ? DependencyProperty.UnsetValue : parameter; } } 问题是,当我的转换器被称为参数是string。 我需要它是一个整数。 当然,我可以parsingstring,但是我必须? 感谢任何帮助konstantin

有没有办法在XAML中链接多个值转换器?

我有一个情况,我需要显示一个整数值,绑定到我的数据上下文属性,通过两个单独的转换后: 反转范围内的值(例如范围是1到100; datacontext中的值是90;用户看到值10) 将数字转换为string 我意识到我可以通过创build我自己的转换器(实现IValueConverter)来完成这两个步骤。 不过,我已经有一个单独的值转换器,只是第一步,第二步是由Int32Converter覆盖。 有没有办法可以链接这两个现有的类在XAML中,而不必创build一个进一步的聚合它们的类? 如果我需要澄清这一点,请让我知道。 🙂 谢谢。