[英]MarkupExtension, IValueConverter Defaul Constructor
我很困惑為什么在此用例中需要默認構造函數。
<Button Name="RemoveWord" IsEnabled="{Binding SearchText.Length, Converter={aw:CountToBoolConverter CountToBoolConverter}, ElementName=WordForAction }" />
而我的轉換器是
public class CountToBoolConverter : MarkupExtension, IValueConverter
{
public CountToBoolConverter(string value)
{
}
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool enabled = (int)value > 0;
return enabled;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
public override object ProvideValue(IServiceProvider serviceProvider)
{
return this;
}
}
在這種情況下,默認的構造函數是什么?我怎么知道它需要什么參數?
您的MarkupExtension需要一個帶有字符串參數的構造函數(這不是默認的構造函數),因為您在創建轉換器的XAML表達式中添加了不必要的字符串:
Converter={aw:CountToBoolConverter CountToBoolConverter}
這里的第二個CountToBoolConverter
字符串毫無意義,表達式應為
Converter={aw:CountToBoolConverter}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.