我有一个UserControl,其中包含名为SignalBase
的基类类型的依赖项属性。我在声明这样的依赖项属性:
public static readonly DependencyProperty TargetSignalProperty =
DependencyProperty.Register(
nameof(TargetSignal),
typeof(SignalBase),
typeof(SignalBrowserComboBox),
new PropertyMetadata(null));
public SignalBase TargetSignal
{
get { return (SignalBase)GetValue(TargetSignalProperty); }
set { SetValue(TargetSignalProperty, value); }
}
在我的一个视图中使用了UserControl,我在其中将TargetSignal
依赖项属性绑定到从Signal<T>
派生的类类型SignalBase
的视图模型属性:
<usercontrols:SignalBrowserComboBox Height="25" Width="500"
TargetSignal="{Binding Path=LedDimmerSignal, Mode=TwoWay}" />
据我在应用程序中看到的,绑定在两个方向上均有效。但是我仍然在调试输出中收到错误消息:
System.Windows.Data错误:1:无法创建默认转换器以 在类型之间执行“双向”转换 'Signals.Signal`1 [System.Int32]'和'Signals.SignalBase'。考虑 使用Binding的Converter属性。 BindingExpression:Path = LedDimmerSignal; DataItem ='ConfigureUserControlVM'(HashCode = 45513298);目标元素 是'SignalBrowserComboBox'(Name ='');目标属性是 'TargetSignal'(类型为'SignalBase')
该如何处理?错误消息提示,我是否需要制作一个Converter?还是应该以其他方式处理?