繁体   English   中英

在自定义控件中访问另一个数据上下文

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM