2013-01-23 33 views
2

在我的Windows應用商店應用中,我創建了一個ScrollViewer(裏面有一個Grid),裏面有幾個TextBoxes。每當用戶點擊ScrollViewer中的任何地方時,第一個TextBox就會被關注。我不知道爲什麼會發生這種情況,這當然不是我想要的行爲。爲什麼我的TextBox在點擊ScrollViewer內部時會變得焦點?

這是XAML試圖成爲「有用」的症狀嗎?我如何防止它?


編輯:我發現了一條線索。這隻發生在我的文本框位於ScrollViewer內時。它也出現在C++和C#項目中,所以它顯然是XAML/WinRT的一個症狀。添加示例XAML:

使用以下XAML,如果我關注第二個TextBox,然後單擊框之間邊距的任何位置,則第一個TextBox會自動聚焦。我不想讓它聚焦。

<ScrollViewer Background="#111111" 
       VerticalScrollBarVisibility="Auto"> 
    <Grid> 
    <Grid.RowDefinitions> 
     <RowDefinition /> 
     <RowDefinition /> 
     <RowDefinition /> 
    </Grid.RowDefinitions> 

    <TextBox Grid.Row="0" /> 
    <TextBox Grid.Row="1" /> 
    </Grid> 
</ScrollViewer> 
+0

「邊框內有幾個文本框」?一個邊框只能有一個子元素... 你能分享你的XAML代碼嗎? –

+0

對不起,我應該更具體。這是一個帶有一個網格的邊框,並且有幾個文本框分佈在不同的單元格中。我會編輯我的問題來澄清。 –

+0

我已經發布了我的XAML以及一個新的線索 - 它看起來只有當TextBox在ScrollViewer中時纔會發生。 –

回答

3

找到了解決辦法!設置ScrollViewer的TabStop="true"可以防止這種行爲。

+2

我有同樣的問題,但無法在我的scrollviewer上找到tabstop函數。你能解釋我能找到它的地方嗎? AHHH明白了。它被稱爲IsTabStop並且像魅力一樣起作用。謝謝! –

相關問題