[英]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.