2016-07-22 68 views
3

下面的代碼很愚蠢,但它代表了一個我試圖理解的概念。有2個按鈕重疊。當我點擊頂部按鈕時,只有底部按鈕的點擊事件被觸發。有沒有辦法強制頂部按鈕的點擊註冊,而不是重疊區域的底部按鈕?如何斷言重疊按鈕的點擊優先順序?

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Button x:Name="TopButton" Click="TopButton_Click" Content="Top Button" Width="100" Margin="0,0,0,0" HorizontalAlignment="Left"/> 
    <Button x:Name="BottomButton" Click="BottomButton_Click" Content="I am the Bottom Button I am very wide" Width="500" HorizontalAlignment="Left" Margin="0,0,0,0"/> 
</Grid> 
+2

愚蠢的代碼在哪裏? – shole

+0

對不起@shole,這是一個艱難的一週。現在添加。 – DeannaD

+0

您是否嘗試更改您定義按鈕的順序,或指定* Canvas.ZIndex *? – Romasz

回答

0

我想,如果您指定的按鈕的正確順序,無論是通過先定義底部按鈕,或通過設置適當的Canvas.ZIndex它應該工作。因爲我認爲最頂層的按鈕應該解僱(與最大Z-索引),和我已經試過這應該工作:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
    <Button x:Name="TopButton" Canvas.ZIndex="1" Click="TopButton_Click" Content="Top Button" Width="100" Margin="0,0,0,0" HorizontalAlignment="Left"/> 
    <Button x:Name="BottomButton" Canvas.ZIndex="0" Click="BottomButton_Click" Content="I am the Bottom Button I am very wide" Width="500" HorizontalAlignment="Left" Margin="0,0,0,0"/> 
</Grid> 

作爲一個側面說明 - 它可能不是把按鍵一個上好的做法另一個。

+0

當然不是,但有第三部分手風琴控制,我試圖在巨大的摺疊按鈕的最左邊放一個小按鈕,以「鎖定「它奇怪,但客戶堅持。 – DeannaD

0

最簡單的方式來了解是

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
<Button x:Name="TopButton" Click="TopButton_Click" Content="Top Button" Width="100" Margin="0,0,0,0" HorizontalAlignment="Left"/> 
<Button x:Name="BottomButton" Click="BottomButton_Click" Content="I am the Bottom Button I am very wide" Width="500" HorizontalAlignment="Left" Margin="0,0,0,0"/> 

上面的代碼將工作就像一個棧,所以當你添加頂部的按鈕它的第一個呈現在屏幕,然後在底部按鈕,所以總是稍後渲染的將會在頂部,並且會被點擊,只需更改步驟並在頂部顯示您想要的按鈕即可。