簡體   English   中英

不能在綁定中使用RelativeSource

[英]Can't use RelativeSource in binding

我正在從一個窗口創建一個模式對話框,我需要將對話框中的組合框綁定到視圖模型, 而不是將其綁定到自己的DataContext中 相反,我需要將組合框綁定到創建對話框的窗口的視圖模型中的屬性。

標記如下。

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

我正在嘗試遵循SO的不同建議 ,但我只會遇到以下錯誤。 還有一個綁定示例列表 ,這並不使我更加聰明。

{““在'System.Windows.Baml2006.TypeConverterMarkupExtension'上提供值”引發了異常。 行號“ 131”和行位置“ 15”。“}

內部異常如下。

{“字符'w'在字符串'x:Type Window'中是意外的。無效的XA​​ML類型名稱。”}

我嘗試了Window之后的其他操作,包括創建窗口的名稱( ProgramWindow ),但它抱怨相同的字符-“ w”! 當我在x:Type Program上開了一槍(不!)時,它抱怨字符“ m”。

我不確定我為什么會這樣,所以對此做一個很好的解釋。 當然,我的問題是我所缺少的。 我應該在對話框的窗口標簽中添加任何內容嗎? 我是否需要告訴計算機祖先窗口的視圖模型將用作相對源?

嘗試:

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

您缺少Mode =和祖先類型周圍的花括號。 x:Type必須使用花括號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM