0
私は非常に簡単なことを達成しようとしていますが、私は非常に小さな問題を抱えています。私はユーザーがタイプを入力する必要があるTextBoxを持っています。タイプは '1'または 'a'でなければなりません。私が思いついたのは、ユーザーがこれらの値以外を入力したときにBorderBrushを赤に変更することでした。最初の文字のTextBox DataTriggerを更新できません
これはうまくいくようですが、色を赤に変えるには2文字を入力する必要があります... dを押すと灰色になり、ddを押すと赤くなります。それは最初の手紙に赤くなる方法がありますか?
<TextBox Grid.Row="2" Grid.Column="1" Text="{Binding SelectedShippingRate.Type, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" Margin="4" >
<TextBox.Style>
<Style TargetType="TextBox">
<Setter Property="BorderBrush" Value="Red" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedShippingRate.Type, UpdateSourceTrigger=PropertyChanged}" Value="1">
<Setter Property="BorderBrush" Value="Gray" />
</DataTrigger>
<DataTrigger Binding="{Binding SelectedShippingRate.Type, UpdateSourceTrigger=PropertyChanged}" Value="a">
<Setter Property="BorderBrush" Value="Gray" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>
Isタイプの文字列またはインスタンスを入力しますか? –
タイプは文字列です – kostas
ビューモデルで、このプロパティのINotifyPropertyChangedおよびsetterがOnPropertyChanged()を実装していますか? –