簡體   English   中英

無法在第一個字母上更新TextBox DataTrigger

[英]Cannot update TextBox DataTrigger on first letter

我正在嘗試實現一些非常簡單的功能,但問題很小。 我有一個TextBox,用戶需要在其中輸入Type。 類型只能是“ 1”或“ a”。 我想到的是,當用戶輸入了除這些值以外的其他值時,將BorderBrush更改為紅色。

這似乎可行,但是為了將顏色變為紅色,我需要輸入兩個字母...因此,如果我按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>

謝謝大家的答復。 看起來它已經在工作,但是BorderBrush始終是藍色的,因為.....當聚焦時,文本框的邊界始終是藍色的(ish):D。 因此,我只是在其周圍添加了邊框,而在邊框上添加了觸發器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM