簡體   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