Laden...

Validation Rule

Erstellt von Fabian E. vor 12 Jahren Letzter Beitrag vor 12 Jahren 883 Views
F
Fabian E. Themenstarter:in
258 Beiträge seit 2008
vor 12 Jahren
Validation Rule

Hallo,
ich habe folgenden Code:

<TextBox Grid.Row="2"
                                         Grid.Column="1"
                                         x:Name="tbxZipalignPath"
                                         Margin="2">
                                    <TextBox.Text>
                                        <Binding Path="ZipalignPath"
                                                 UpdateSourceTrigger="PropertyChanged"
                                                 ValidatesOnExceptions="True" >
                                            <Binding.ValidationRules>
                                                <ViewModel:FilePathValidationRule />
                                            </Binding.ValidationRules>
                                        </Binding>
                                    </TextBox.Text>
                                </TextBox>

Dieser sorgt dafür, dass der Text der in die Textbox geschrieben wird, immer ein gültiger Pfad sein muss.
Das klappt soweit auch schon genau wie ich das möchte. Allerdings bekommt diese Textbox über das Binding beim Start der Anwendung direkt etwas zugewiesen.
Der Wert dieser Zuweisung wird allerdings nicht überprüft. Der text steht danach in der Textbox wie es sein soll, allerdings erkennt er dann eventuell vorhandene Fehler nicht.

Gibt es eine Möglichkeit dieses Verhalten zu ermöglichen?

PS: Wie schaffe ich es eigentlich, dass formatiereter Code hier richtig dargestellt wird? Also nicht so fies versetzt.

1.378 Beiträge seit 2006
vor 12 Jahren

Ich kenn das genau Verhalten von ValidationRules nicht und kann nicht beantworten warum sie nicht greifen wenn der Wert beim Start zugewiesen wird.

Alternativ könntest du auf IDataErrorInfo umsatteln. Diese prüfen bei mir immer vono beginn an.

Lg, XXX

F
Fabian E. Themenstarter:in
258 Beiträge seit 2008
vor 12 Jahren

Vielen Dank, mit IDataErrorInfo klappt das sehr gut! 😃