2017-08-01 3 views
-1

本当に今失われました。私はOCRリーダーからSPZをチェックするために開発されたフォームを持っています。私はテキストボックスにいくつかの条件があります。これらの条件は、別のボタンとラジオボタンを有効/無効にします。いくつかのレコードでは非常にうまく動作します。しかし、いくつかでは、私は面白い問題があります。文字列の最後の文字はMVVMのセッターで跳躍しません

// Loading can be if: 
// SPZ Ocr is different 
// SPZ Notified is OK 
// SPZ Final (real) OK 
// SPZ notified == real, but its different from OCR: then i can enable button continue loading. When i click, then i can detail window activate.     
else if (_licencePlate != PlateInformation.LicencePlateOCR && _licencePlate == PlateInformation.LicencePlateNotified) 
{ 
    CheckedWaitState = false; 
    CanEnableButton = true; 
    NotifyPropertyChanged("CanEnableButton"); 
    ConfirmCheckSPZ = false; 
    NotifyPropertyChanged("ConfirmCheckSPZ"); 
    CheckWaitStateEnable = false; 
    NotifyPropertyChanged("CheckWaitStateEnable"); 
    CheckReturnStateEnable = false; 
    NotifyPropertyChanged("CheckReturnStateEnable"); 
    NotifyPropertyChanged("LicencePlate"); 
} 

この特定のテキストボックスにいくつかのSPZを書くと、この条件での跳躍がうまくいきます。しかし、文字列の最後の文字だけではありません。前の文字はうまく飛びます。なぜどんなアイデア?もちろん、この最後の文字が条件に飛び込んでいないときは、何も有効になりません。 「あなたのケースでは、UpdateSourceTrigger =のPropertyChangedとの結合を双方向で

<TextBox x:Name="txtCheckSpz" Grid.Column="0" Grid.Row="2" Margin="63,10,0,0" Text="{Binding LicencePlate, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Style="{StaticResource NormalTextBox1}" Width="128" Height="33" > 
+1

SPZとはどういう意味ですか? 「飛び込む」と書いたときに、条件付きコードが実行されていないことを意味しますか?英語はあなたの母国語ではないようです。問題は何かを明確にする必要があります。 – grek40

答えて

0

すべての文字入力された(または削除)テキストボックスには、ターゲットプロパティのセットをトリガーします:

は、XAMLコードの一部があります「LicencePlate」 このプロパティのセットでは、受信した値を分析した後に必要な状態を変更する追加のコードを呼び出すことができます。 例:

private string m_LicencePlate 
public string LicencePlate 
{ 
    get { return m_LicencePlate; } 
    set 
    { 
     if (value == m_LicencePlate) return; 
     m_LicencePlate = value; 
     UpdateStateAfterLicensePlateChange(); 
    } 
} 
関連する問題