2012-01-02 92 views
0

我正在WPF MvvmLight應用程序上工作,一旦我點擊第一頁,它將導航到第二頁。第二頁有一個文本框,焦點在其上設置。在這個文本框中,我無法放置任何數據或任何字符。但我可以複製和粘貼。什麼可能是這種奇怪的行爲的原因。TextBox輸入MVVM Light的數據問題。

<TextBox VerticalAlignment="Center" x:Name="txtsearchYouTube" Height="25" 
    Margin="100,0,100,0" Canvas.Top="275" Width="500" 
    Loaded="txtsearchYouTube_Loaded" Canvas.Left="50" 
    Text="{Binding SeachKeyWord,Mode=TwoWay, 
    UpdateSourceTrigger=PropertyChanged}"/> 
+0

你可以想象你如何綁定文本框? – 2012-01-02 08:04:49

+0

雅相信我的<文本框 VerticalAlignment = 「中心」 X:NAME = 「txtsearchYouTube」 HEIGHT = 「25」 保證金= 「100,0,100,0」 Canvas.Top = 「275」 WIDTH = 「500」 加載=「txtsearchYouTube_Loaded」 Canvas.Left =「50」 文本=「{結合SeachKeyWord,模式=雙向,UpdateSourceTrigger =的PropertyChanged}」 /> – 2012-01-02 08:15:08

+0

菲菲,您好我加入了這個綁定樣本,讓我正確我想結合這應該不是問題。 – 2012-01-02 08:16:30

回答

0

1)的結合不是問題,其實哪怕是錯了,你仍然可以在文本框寫,它只是將不會被放在SearchKeyWord。順便說一下,你把它拼錯了(你忘了R在海里)。

2)如果你真的只將焦點設置上加載的事件,並沒有其他,那麼它是沒有問題的任一。

3)MVVM光僅僅是一個方便性框架,它不會改變WPF你,因爲它只是提供了一些工具,它與文本框絕對不亂。

這就是說,這裏就是我會檢查你的情況:

  • 如果SearchKeyWord是依賴屬性看在聲明看是否有聲明的回調/ coercevalue/validatevalue。由於綁定是雙向的,因此可能總會使接受的值無效(防止您實際上在其中寫入任何內容)
  • 檢查您的可視化樹的所有方式,對於TextBox類型的任何隱式樣式。他們可能會觸發與您的數據混淆的觸發器。

希望這有助於

巴布。

+0

謝謝你:@Baboon我明白我的問題是我已經註冊了我的KeyboadrEvent,並且每當我將值放入文本框時,它將進入所有的情況,比如輸入keydown和all,但是沒有找到任何關鍵字,所以默認值集args.Handle = true,所以它總是處理真正的問題。 – 2012-01-02 10:52:52

0

我不知道你的代碼有什麼問題。但你可以幫助你的自我。所以只需刪除綁定和加載事件,並檢查是否可以將任何數據放入文本框中。 如果是,請發佈您的活動和視圖模型的所有代碼,否則很難提供幫助。

你寫的你可以複製粘貼?這是什麼意思?你的文本框顯示你粘貼的文本?或者你的viewmodel獲得了粘貼的值?

編輯:您還可以使用Snoop檢查你的文本框結合並在運行時的性能。