當我使用TabControl對象開發WPF應用程序時遇到問題。我試圖調試並發現問題,最後我明白了,但是我沒有找到任何解決方法。這裏是一些解釋:爲什麼我的樣式的ToggleButton不能在TabControl的第二個選項卡上工作?
我用這個數據網格過濾庫(here is a codeproject url),這是最好的(從我的角度來看)。我想用谷歌材質設計主題對其進行定製,並更改一些圖形功能,例如在數據網格的第一個標籤頁眉中使用切換按鈕來隱藏/顯示過濾選項。
我創建了一個用戶控件,並在其中放置了我的自定義數據網格。然後我將該控件嵌入到tabItem中。當我將此控件設置爲第一個tabItem時,一切正常。但是,當我將用戶控件更改爲其他tabItem時,切換按鈕不起作用。
這裏是我的主窗口的XAML代碼,沒有工作:
<TabControl x:Name="tabControl">
<TabItem Header="1'st Tab">
<ContentControl DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType={x:Type Window}}}">
<Button Content="Do no thing"></Button>
</ContentControl>
</TabItem>
<TabItem Header="2'nd Tab">
<ContentControl DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType={x:Type Window}}}">
<local:UserControl1/>
</ContentControl>
</TabItem>
</TabControl>
需要注意的是,如果我改變的TabItems的順序,效果很好。有沒有人有建議如何解決這個問題? Here is my sample project code on Github
編輯:今天,我測試了「WPF督察」應用程序查找視覺和邏輯樹的結構。這種行爲太奇怪了,因爲當我將「WPF Inspector」附加到我的應用程序中時,所有事情都開始奏效。下面GIF是我做過什麼:
歡迎SO!我改變了你的問題的標題。請參閱[幫助頁面](http://stackoverflow.com/help/tagging)以獲知是否應在問題標題中使用標籤。您還應該向我們提供[mcve],而不僅僅是發佈指向外部代碼的鏈接。 – dymanoid
這兩個代碼沒有區別。您應該只更改TabControl中TabItem的順序。不過,我會添加一些代碼行。我很感激你的報價。 – Alireza