2011-08-25 60 views
0

Visibility="{Binding Path=Visibility, ElementName=btnUndo}"/>綁定到另一個控制或觸發XAML菜單項知名度不工作

我想綁定的菜單項可視性另一個控制能見度(btnUndo)。

控制的知名度勢必會觸發

 <Style x:Key="undoStyle"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding SelectedItem.isEdited, ElementName=lvBatches}" Value="True"> 
        <Setter Property="FrameworkElement.Visibility" Value="Visible"/> 
       </DataTrigger> 
       <DataTrigger Binding="{Binding SelectedItem.isEdited, ElementName=lvBatches}" Value="False"> 
        <Setter Property="FrameworkElement.Visibility" Value="Collapsed"/> 
       </DataTrigger> 
      </Style.Triggers> 
     </Style> 

我試過的菜單項綁定到相同的觸發,但是這也不能工作。

有什麼建議嗎?

+0

這是'ContextMenu'還是常規的'Menu'?我相信ContextMenus存在於裝飾器層中,它與其他控件不同,它是一種不同的視覺樹。 – Rachel

+0

ContextMenu - 有些東西告訴我,我的XAML noobiness會再次咬我一次... – Yatrix

回答

1

ContextMenus存在於Adorner Layer中,它與UI層不一樣。

我知道你可以綁定像在MenuItem以下,這將返回ControlContextMenu連接到,並從那裏你也許能找到你要找的數據。

{Binding Path=PlacementTarget, RelativeSource= 
    {RelativeSource FindAncestor, AncestorType={x:Type ContextMenu}}} 

例如,您可以創建,直到它找到它尋找的對象,它遍歷了從指定控件的VisualTree一個轉換器,或者你可以綁定到DataContext,查看您的視圖模型中的特定值。

+0

You> me。謝謝,瑞秋。 – Yatrix

相關問題