Shi*_*mmy 15 wpf performance ivalueconverter
在WPF应用程序中声明转换器时,我应该:
<Application.Resources/>以便它可供整个应用程序使用Page/ Window/ ResourceDictionary/ UserControl等所需的转换器Resources关于可读性,方法1对我来说似乎是最好的,但我的问题是关于性能.哪种方法在性能,内存等方面最具资源效率?
Yog*_*esh 47
好吧,我根本就没有在xaml中声明它们.相反,我另外从中获得了一个转换器 MarkupExtension.像这样:
public class MyValueConverter : MarkupExtension, IValueConverter
{
private static MyValueConverter _converter = null;
public override object ProvideValue(IServiceProvider serviceProvider)
{
if (_converter == null) _converter = new MyValueConverter();
return _converter;
}
public object Convert
(object value, Type targetType, object parameter, CultureInfo culture) { }
public object ConvertBack
(object value, Type targetType, object parameter, CultureInfo culture) { }
}
Run Code Online (Sandbox Code Playgroud)
这允许我在任何地方使用我的转换器,如下所示:
Source="{Binding myValue, Converter={converters:MyValueConverter}}"
Run Code Online (Sandbox Code Playgroud)
其中converter是我声明我的转换器的命名空间.
仅从旧的stackoverflow线程中学到了这个技巧.
| 归档时间: |
|
| 查看次数: |
6232 次 |
| 最近记录: |