0
沒有發現我已經在我的XAML以下文本菜單:的RelativeSource屬性上的ContextMenu
<ContextMenu ItemsSource="{Binding RSPContextMenuCommands}">
<ContextMenu.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="CommandParameter" Value="{Binding}" />
<Setter Property="Command" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}, Path=DataContext.ShowASPCommand}" />
<Style.Triggers>
</DataTrigger>
<DataTrigger Binding="{Binding SpName}" Value="ASP">
<Setter Property="Header" Value="Show Additional Service Providers" />
<Setter Property="Command" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}, Path=DataContext.TransferCommand}" />
</DataTrigger>
</Style.Triggers>
</Style>
</ContextMenu.ItemContainerStyle>
<ContextMenu.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Margin="5,0,0,0" Text="{Binding RelativeSource={RelativeSource AncestorType={x:Type ContextMenu}}, Path=PhoneNumber, PresentationTraceSources.TraceLevel=High}" />
</StackPanel>
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
其中,RSPContextMenuCommands是類型附表(類)的集合。附表有電話號碼它的財產。 TransferCommand與聲明RSPContextMenuCommands的級別相同。我得到ShowASPCommand和TransferCommand,但不是PhoneNumber。我嘗試了各種RelativeSource組合,但它沒有奏效。什麼應該是適當的RelativeSource它。也試過RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}, Path=PhoneNumber
爲TransferCommand定義RelativeSource後,我的綁定級別位於聲明RSPContextMenuCommands的類中。我想再次進入RSPContextMenuCommands。 plz幫助我。 – deathrace