我有一個「文本框」,如「文本塊」。雙擊文本框即可啓用編輯功能。現在我想通過雙擊文本框來突出顯示帶有某種顏色的文本框邊框。我只需要在代碼中應用樣式。我如何做到這一點?我嘗試了厚度。但我想要一些乾淨整潔的東西。文本框 - 在wpf中編輯樣式
我已經給了代碼我試過了。
textBox.IsReadOnly = false;
textBox.SelectAll();
textBox.BorderThickness = new Thickness(1);
你能幫我嗎?
我有一個「文本框」,如「文本塊」。雙擊文本框即可啓用編輯功能。現在我想通過雙擊文本框來突出顯示帶有某種顏色的文本框邊框。我只需要在代碼中應用樣式。我如何做到這一點?我嘗試了厚度。但我想要一些乾淨整潔的東西。文本框 - 在wpf中編輯樣式
我已經給了代碼我試過了。
textBox.IsReadOnly = false;
textBox.SelectAll();
textBox.BorderThickness = new Thickness(1);
你能幫我嗎?
類似於此:EventTrigger with Setter in WPF?
您需要使用EventTrigger
得到你想要使用XAML唯一的功能。請注意,要使它工作,您應該將BorderThickness
的值更改爲不是1的值。如果它是1(默認值),它將顯示標準的3d邊框。
<TextBox x:Name="tb" Width="150" Height="30" IsReadOnly="True" Text="Double click to type"
BorderBrush="Black" BorderThickness="0.99">
<TextBox.Triggers>
<EventTrigger RoutedEvent="TextBox.MouseDoubleClick" SourceName="tb">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="(TextBox.IsReadOnly)">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<sys:Boolean>False</sys:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
<BeginStoryboard>
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBox.BorderBrush).Color">
<EasingColorKeyFrame KeyTime="0:0:0.1" Value="Red"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="TextBox.LostFocus" SourceName="tb">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Duration="0"
Storyboard.TargetProperty="(TextBox.IsReadOnly)">
<DiscreteObjectKeyFrame KeyTime="0">
<DiscreteObjectKeyFrame.Value>
<sys:Boolean>True</sys:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
<BeginStoryboard>
<Storyboard>
<ColorAnimationUsingKeyFrames Storyboard.TargetProperty="(TextBox.BorderBrush).Color">
<EasingColorKeyFrame KeyTime="0:0:0.1" Value="Black"/>
</ColorAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</TextBox.Triggers>
</TextBox>
iT WORKD。但如何在雙擊文本框時更改邊框顏色。 –
如何在此處添加邊框線條顏色故事板? –
你需要'ColorAnimationUsingKeyFrames',我更新了我的答案,檢查了這一點! – lena
請勿操作WPF中過程代碼中的UI元素。這就是XAML的用途。使用'Style.Triggers'或其他常規的WPF機制。 –
是的。但我需要通過代碼來操縱例如 –
@shahulhammed不,你不需要這樣。我製作了數千個WPF UI,幾乎從不需要操作過程代碼中的UI元素。爲此使用XAML。 –