簡體   English   中英

WPF TextBox觸發器清除文本

[英]WPF TextBox trigger to clear Text

我有很多TextBox控件,我正在嘗試編寫一個樣式, 禁用 Control 清除Text屬性。 我不希望代碼中有事件處理程序。

我寫了這個:

<Style TargetType="{x:Type TextBox}">                            
 <Style.Triggers>
  <Trigger Property="IsEnabled" Value="False">                                    
   <Setter Property="Text" Value="{x:Null}" />
  </Trigger>                                
 </Style.Triggers>
</Style>

問題是如果TextBox定義如下:

<TextBox Text={Binding Whatever} />

然后觸發器不起作用(可能是因為它的約束)如何克服這個問題?

因為您在TextBox中明確設置Text,所以樣式的觸發器不能覆蓋它。 試試這個:

<TextBox>
    <TextBox.Style>
        <Style TargetType="{x:Type TextBox}">
            <Setter Property="Text" Value="{Binding Whatever}" />

            <Style.Triggers>
                <Trigger Property="IsEnabled" Value="False">
                    <Setter Property="Text" Value="{x:Null}" /> 
                </Trigger>
            </Style.Triggers>
        </Style> 
    </TextBox.Style>
</TextBox>

暫無
暫無

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

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