不能在绑定中使用 RelativeSource

Can't use RelativeSource in binding

我正在从 window 创建模式对话框,我需要将对话框中的组合框绑定到视图模型 但不是它自己的组合框 DataContext。相反,我需要将组合框绑定到创建对话框的 window 的视图模型中的 属性。

加价如下

<ComboBox x:Name="Options"
          ItemsSource="{Binding 
            RelativeSource={
              RelativeSource FindAncestor,
              AncestorType=x:Type Window},
            Path=DataContext.AllOptions}"
          ...
          Style="{StaticResource DefaultComboBoxStyle}" />

我正在尝试遵循 different suggestions from SO but I'm only landing in the following error. There's also a list of binding examples,但这并没有让我变得更聪明。

{"'Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception.' Line number '131' and line position '15'."}

而内部异常如下

{"Character 'w' was unexpected in string 'x:Type Window'. Invalid XAML type name."}

我试过 Window,包括创建 window 的名称(程序Window) 但它抱怨同一个字符 - "w"!当我在 x:Type Program 拍摄了一段时间(没有 w's!),它却抱怨字符 "m",而不是。

我不确定我是否理解为什么,所以最好对此进行解释。当然,我的问题是我缺少什么。我应该向对话框的 window 标记添加任何内容吗?我需要告诉计算机祖先 window 的视图模型将用作相对源吗?

尝试:

RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type x:Window}}

您缺少 Mode= 和祖先类型周围的大括号。 x:Type.

需要大括号