在视图模型中将基类依赖项属性绑定到派生类属性时出错

时间:2018-11-14 21:32:42

标签: c# wpf

我有一个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?还是应该以其他方式处理?

0 个答案:

没有答案
相关问题