2014-10-31 21 views
0

我沒有什麼問題。隱藏的擴展器在它下面重疊

在我的WPF appliaciton我有擴展

>>some content 
      <Expander ExpandDirection="Right" Header="" Margin="341,6,-6,0" BorderBrush="{x:Null}" Foreground="Black" Canvas.ZIndex="-1"> 
       <StackPanel Background="#FFE2E2E2" Margin="-28,30,-4,-2" Width="175" Opacity=".8"> 

         >>some content<< 

       </StackPanel> 
      </Expander> 

     </Grid> 
    </Window> 

當你彈出它涵蓋了原來的內容,它的好,但內容涵蓋無形如果是擴張太隱蔽和內容下不能使用。我想這是:如果擴展器是隱藏的 - 它有z-index:-1和普通內容可以使用,如果我彈出它 - 擴展器有z-index:1 但我不知道該怎麼做,感謝您的回覆。

+0

嗨,對不起理解你的問題。也許你的問題的視覺例子有助於澄清? – 2014-10-31 14:02:20

+0

我再試一次..所以..在最後的XAML文件我有這個擴展器..擴展器有顯示或隱藏堆棧面板的區域,在這個區域是按鈕和幾個文本框,我不能點擊這個,因爲它是在膨脹機區域之下。我做了一些更改: Expander x:Name =「panel」..... Canvas.ZIndex =「 - 1」** ButtonBase.Click =「StackPanel_Click」** expander zindex -1,in code現在的背後是: 私人無效StackPanel_Click(對象發件人,RoutedEventArgs E) { 這裏必須得到Z-索引0正確顯示 } – 2014-10-31 14:42:34

+0

你不應該使用Z-索引什麼,這一切都在你如何建立你的DOM,也許分享更多的xaml? – 2014-10-31 14:52:39

回答

0

我明白了。

的StackPanel normaly在我的窗口工作Z-索引-1和工具。 如果我點擊到的StackPanel用於打開它, 堆疊面板得到Z-索引+1,如果我關閉它(我必須單擊再次擴展器按鈕)的StackPanel得到Z-索引-1

你可以在代碼

public int indexx = -1; 
private void StackPanel_Click(object sender, RoutedEventArgs e) 
{ 

    if (indexx == 1) 
    { 
     indexx = -1; 
     Canvas.SetZIndex(panel, indexx); 

    } 
    else 
    { 
     indexx = 1; 
     Canvas.SetZIndex(panel, indexx); 
    } 

}