Tag: ivalueconverter

获取ConvertBack()方法中的Source值,以便在WPF绑定中实现IValueConverter

我将依赖属性绑定到WPF中的textboxex。 该属性是一个字符串,其中一些值以’/’分隔(例如:“1/2/3/4”)。 我需要将单个值绑定到单独的文本框,这对于以下Convert()方法的实现很好: public object Convert(object value, Type targetType, object parameter,System.Globalization.CultureInfo culture) { if (!string.IsNullOrEmpty(value as string)) { String[] data = (value as string).Split(‘/’); return data[Int16.Parse(parameter as string)]; } return String.Empty; } 我在xaml使用ConverterParameter来指定所需值的位置。 但是,问题在于ConvertBack()方法。 我不知道,如何获取源值,这样我就可以只添加或更改字符串中的一个值(在指定位置)。 谢谢你的帮助。

多参数转换器

有谁知道如何在Windows Phone 7应用程序中使用带有多个参数的转换器? 提前致谢。

我可以将整个UI元素传递给IValueConverter吗?

ComboBox的地址与选定得分最高的地理数据库匹配。 Textblock具有用于输入匹配的地址。 如果地址相同,我希望前景为绿色,否则为红色。 我想也许我可以将整个TextBlock传递到dataconverter,获取其父StackPanel,获取子0,转换为Combobox获取第0个元素并进行比较,然后返回红色或绿色。 这可以吗? 否则我想我必须遍历视觉树,这就像我想的那样丑陋

使用IValueConverter动态加载图像源

我有IValueconverter的问题并动态加载行网格图像: public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { string Type = (string)value; Uri uri; try { uri = new Uri(“/XConsole;component/Images/” + Type + “.png”, UriKind.Relative); return new System.Windows.Media.Imaging.BitmapImage(uri) { CacheOption = BitmapCacheOption.None }; } catch (Exception e) { //donothing } uri = new Uri(“/XConsole;component/Images/Type_SYSTEM.png”, UriKind.Relative); return new System.Windows.Media.Imaging.BitmapImage(uri) { CacheOption = […]

为什么在MultiBinding中转换值时会得到DependencyProperty.UnsetValue?

我有一个非常简单的IMultiValueConverter,它只是OR的两个值。 在下面的示例中,我想使用同样简单的布尔型逆变器反转第一个值。 和逆变器: public class BoolInverterConverter : IValueConverter { #region IValueConverter Members public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (value is bool) { return !((bool)value); } return null; } public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { throw new NotImplementedException(); } #endregion } 当我包含boolInverter时,MultiValueConverter中的第一个值变为“DependencyProperty.UnsetValue”。 当我不使用转换器时没有问题(当然,不是我的目标逻辑)。 我错过了什么吗? 单步执行调试器会显示InverseBoolConverter正在反转我传递的值,但该值不会被“发送”到MultiValueConverter。

改进了IValueConverter – MarkupExtension还是DependencyObject?

我在网上看到了两种不同的方法来增强IValueConverter。 其中一个从MarkupExtension扩展了ValueConverter,另一个从DependencyObject扩展。 我无法从两者延伸,所以我想知道是否有一个比另一个好?

如何绑定到DynamicResource以便可以使用Converter或StringFormat等? (修订版4)

注意:这是对早期设计的修订,其具有不可用于样式的限制,相当于否定其有效性。 但是, 这个新版本现在可以使用样式 ,基本上可以让你在任何可以使用绑定或动态资源的地方使用它,并获得预期的结果,使它非常有用。 从技术上讲,这不是一个问题。 这是一篇文章,展示了我发现使用DynamicResource作为源代码轻松使用转换器的方法,但为了遵循s / o的最佳实践,我将其作为问题/答案对发布。 因此,请查看下面的答案我找到了如何执行此操作的方法。 希望能帮助到你!