2011-07-28 86 views
0

我目前正在開發一個WPF應用程序。當用戶提交表單時,我有一個方法可以檢查以確保填充的字段和我想要做的是,如果它們不是,則顯示一個紅色到白色的漸變,作爲淡入淡出的動畫。這是可能的,因爲我試圖做谷歌搜索,但沒有發現任何用途。在C#中的TextBox周圍添加彈出邊框動畫wpf

任何幫助將不勝感激。

謝謝

回答

0

使用驗證您的綁定,然後分配一個驗證錯誤模板文本框。這裏是一個沒有一個紅色矩形:

<ControlTemplate x:Key="errorTemplate"> 
    <Canvas Width="{Binding Path=AdornedElement.ActualWidth, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Adorner}}}" 
      Height="{Binding Path=AdornedElement.ActualHeight, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Adorner}}}"> 
     <Border BorderBrush="Red" BorderThickness="1" > 
      <AdornedElementPlaceholder/> 
     </Border> 
    </Canvas> 
</ControlTemplate> 

一下添加到綁定:Validation.ErrorTemplate =「{StaticResource的errorTemplate}

+0

當我嘗試添加該到t他xaml的我的WPF窗口x:鍵不可用,只有x:name x:uid。如何將此添加到我想應用錯誤驗證的窗口的xaml中。謝謝 – Boardy

+0

您需要將其添加到ResourceDictionary中,例如在窗口中。 –

0

您可以使用樣式和使用數據觸發實現這一這樣,當你的文本框爲空,你會看到一個紅色的邊框和亮紅色的背景看下面的示例代碼:

<Style x:Key="RequiredField" TargetType="{x:Type TextBox}"> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding RelativeSource={RelativeSource Self}, Path=Text}" Value="">    
      <Setter Property="TextBox.BorderBrush" Value="{StaticResource MySolidBrush}" />    
      <Setter Property="TextBox.Background" Value="{StaticResource MyInnerBrush}"/>    
      <Setter Property="TextBox.ToolTip" Value="This Field is Mandatory"/> 
     </DataTrigger> 
    </Style.Triggers> 
</Style> 
+0

不知何故,我無法粘貼完整的代碼。 – Manish