22得票2回答
在禁用的项目上显示WPF工具提示

想知道是否有可能仅在禁用的项目上显示 WPF,而不是在启用项目上显示。 我想给用户一个提示框,解释为什么当前项目被禁用。 我有一个 IValueConverter 来反转布尔值 IsEnabled 属性绑定。但在这种情况下它似乎并不起作用。ToolTip 在项目启用和禁用时都会显示。 因...

22得票1回答
如何绑定到动态资源以便使用转换器或字符串格式化等功能?(修订版4)

注意:这是早期设计的修订版,早期版本的局限是无法在样式中使用,这使其效果大打折扣。然而,这个新版本现在可以与样式一起使用,实质上让你可以在任何可以使用绑定或动态资源的地方获得预期的结果,使其变得非常有用。技术上说,这不是一个问题。这是一篇介绍我发现如何轻松使用转换器作为源的动态资源的文章。但为...

22得票4回答
WPF MVVM模式中ItemsControl中的单选按钮

以前我曾经将枚举与单选按钮绑定过,并且基本上了解它的工作原理。我使用了这个问题中的另一种实现方式:如何将RadioButton与枚举绑定? 现在,我想生成一个运行时枚举的自定义类型集合,并将其作为一组单选按钮呈现。我已经用 ListView 来展示运行时枚举集合的视图,并绑定到 ItemsS...

20得票3回答
如何处理值转换器中的异常,以便显示自定义错误消息

我有一个文本框,绑定到一个具有TimeSpan类型属性的类,并编写了一个值转换器,将字符串转换为TimeSpan。 如果在文本框中输入非数字内容,我希望显示自定义错误消息(而不是默认的“输入字符串格式不正确”)。 转换器代码如下: public object ConvertBack(...

19得票4回答
使用DynamicResource和IValueConverter?

在使用DynamicResource扩展时是否有定义转换器的方法?类似以下的方式:<RowDefinition Height="{Binding Source={DynamicResource someHeight}, Converter={StaticResource gridLeng...

17得票1回答
WPF:单向IValueConverter

据我所知,我需要创建一个 IValueConverter 来进行自定义格式化。问题在于我的格式化是单向的,没有合法的 ConvertBack 实现。 那么,如何处理单向的 IValueConverter 呢?(如果有帮助的话,这是用于只读控件的。)

17得票4回答
我应该在App.xaml中声明转换器还是作为每个文件的资源?

在WPF应用程序中声明转换器时,我应该: 将所有的转换器声明在App.xaml中(即在<Application.Resources/>中),以便整个应用程序都可以使用它。 仅在每个Page/Window/ResourceDictionary/UserControl等的Resou...

16得票2回答
IValueConverter with MarkupExtension

最近我读到了一个IValueConverter,它也继承自MarkupExtension。它大致如下:internal class BoolToVisibilityConverter : MarkupExtension, IValueConverter { private static...

15得票2回答
改进的IValueConverter--MarkupExtension还是DependencyObject?

我在网上看到了两种增强IValueConverter的方法,其中一种是从MarkupExtension扩展ValueConverter,另一种是从DependencyObject扩展。我无法同时从两个方面进行扩展,所以想知道哪种更好一些?

14得票4回答
如何在转换器中运行代码以便在单独的线程中,从而避免UI冻结?

我有一个WPF转换器,它很慢(计算、在线获取等)。我该如何异步转换,以使我的UI不会冻结?我找到了这个解决方案,但它的解决方法是将转换器代码放在属性中,这并不是我想要的。 以下是一个演示问题的示例。在这里,下拉列表将冻结,直到Sleep过程结束。namespace testAsync { ...