2012-09-05 15 views
4

我注意到WPF中有一個有趣的錯誤,我想知道是否有其他人也看過它,如果是這樣,他們是如何解決它的?在Windows XP上運行時TextBox.Text綁定錯誤

我有一個Window,內部是一個GroupBox,其中是一個TextBox。在GroupBoxDataContext設置爲我的程序中的對象,並設置這樣的TextBox作爲結果的結合:

<TextBox Text="{Binding Directory_Data}" IsReadOnly="True" 
     Name="dataPath_TextBox" Grid.Column="0" Grid.Row="1" 
     Height="23" Margin="6,3,3,3"/> 

在Windows 7(這是我開發的),這工作得很好,和我沒有理由甚至三思而後行。但是在Windows XP(安裝了.NET4.0)一些測試,打開此Window過程中造成整個程序崩潰,與此錯誤:

EventType: clr20r3, system.invalidoperationexception.

我花了年齡通過代碼工作,直到我終於縮小它到了上面的XAML線。

更改TextBoxLabel(和改變Text屬性Content)防止此崩潰和程序工作按計劃;它似乎是一個TextBox錯誤。

雖然可能只是切換到TextBoxLabel(因爲在我的情況下,這將是ReadOnly反正),我寧願TextBox外觀的緣故。這可能是我必須手動更新Text屬性後面的代碼。

無論如何,主要是我只是想指出這個問題,以防其他人遇到類似的情況。任何想法,爲什麼這是雖然將不勝感激。

+2

是否有關於錯誤的更多信息?像堆棧跟蹤或什麼的?另外,你是否嘗試過使用另一臺基於XP的機器? (以確保它不僅僅是框架的損壞安裝) –

+0

錯誤框中有一些數字;我不認爲他們會很有意義,但如果你喜歡,我可以添加他們?是的,我已經在兩臺機器上嘗試過了。實際上是有人在XP機器上爲我測試它,發現了錯誤,此時我自己在另一臺機器上嘗試了它,並設法複製它。 – Greg

+1

不幸的是,這些數字不會有任何用處,至少對我而言。如果您訂閱了AppDomain.UnhandledException事件,是否觸發了事件?您可以通過這種方式收集更多信息。 HTTP:// MSDN。microsoft.com/en-us/library/system.appdomain.unhandledexception.aspx –

回答

0

從評論中的建議,我執行AppDomain.UnhandledException如此處所述。我把代碼之前:

app.InitializeComponent();

app.Run();

這然後輸出做出一個MessageBox)。然後重新創建問題我收到以下消息:

「TwoWay或OneWayToSource綁定不能在TextBox的只讀屬性上工作」。

更改爲OneWay解決了這個問題,但爲什麼出現在XP而不是Windows 7上,我不確定。使TextBoxReadOnly也將工作,雖然在我的情況下,我希望它保持ReadOnly

相關問題