[英]Accessing another data context in custom control
你好Stackoverflowers,
在.xaml文件中,我将datacontext设置为关联的ViewModel。
d:DataContext="{d:DesignInstance Contents:OverlayDesignerViewModel}">
在文件的更高版本中,我想使用从System.Windows.Controls.Canvas继承的类。
我想在此控件中设置Interaction.Triggers,但我希望Command位于XAML文件开始时定义的DataContext中。
<Contents:DrawingCanvasCustom
Background="#00000000"
Name="_drawingCanvas"
Width="650"
Height="450">
<i:Interaction.Triggers>
<i:EventTrigger EventName="CanvasMouseDown">
<i:InvokeCommandAction Command="{Binding Path=DataContext.CanvasMouseDownCommand, RelativeSource={RelativeSource AncestorType={x:Type Window}}}"
CommandParameter="{Binding ElementName=CanvasOverlayView}"/>
</i:EventTrigger>
但是我有一个错误:“无法在类型对象的数据上下文中解析属性CanvasMouseDownCommand”。
如何解决呢?
您在这里不见了Mode=FindAncestor
Command="{Binding Path=DataContext.CanvasMouseDownCommand, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Window}}}"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.