如何仅在某个窗口中显示按钮?

时间:2014-05-23 12:25:47

标签: c# wpf xaml

只有当用户转到SelectionDisplay?

时,如何才能使此按钮可见?
 <local:KinectHoverButton Grid.Column="0" Style="{StaticResource KinectHoverButtonScrollLeftStyle}" Click="PageLeftButtonClick"   IsEnabled="{Binding ElementName=ControlsBasicsWindow, Path=PageLeftEnabled}"/>
 <local:KinectHoverButton Grid.Column="2" Style="{StaticResource KinectHoverButtonScrollRightStyle}" Click="PageRightButtonClick" IsEnabled="{Binding ElementName=ControlsBasicsWindow, Path=PageRightEnabled}"/>

现在,按钮在任何地方都是公开的,我希望它只在一个地方公开。

我知道这可以通过发布这种属性然后通过数据绑定在.xaml中输入来完成。

public bool IsSelectionDisplay
    {
        get { return IsSelectionDisplay; }
        set
        {
            if (//condition)
              {
                 //code

              }
        }
    }

我不知道的是我应该在“setter”中写的内容,以便按钮只显示在某个窗口中。

http://i61.tinypic.com/ic4nc8.png

http://i58.tinypic.com/2ius7c.png

1 个答案:

答案 0 :(得分:0)

您可以使用值转换器。因此绑定Visibility属性

Visibility="{Binding RelativeSource={RelativeSource FindAncestor, 
      AncestorType={x:Type Window}}, Path=Name}"

然后在Value Converter中执行以下操作:

if (value.ToString() == "Window1") return Visibility.Visible;