TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
ivan ivan
NA
3
4.8k
WPF Change Style of all TextBoxes in Grid
Dec 11 2013 12:02 AM
Dear All
Hi everyone,
I am using control template to change all the textboxes' style in specific Grid, all textboxes outside the Grid will have different style
I works fine with the following code, but I need one more enhancement
I would like to change a textbox's borderbrush to red when a button click, however, since I am set the color to Blue in style, the code textBox1.BorderBrush = Brushes.Red; is not working
How to modify the controlTemplate that normal style is Blue border and when a button is clicked, the code textBox1.BorderBrush = Brushes.Red; can change the border to Red?
Thanks
Ivan
Here are my codes:
XAML:
<Window.Resources>
<Style x:Key="LargeGridStyle" TargetType="{x:Type Grid}">
<Style.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TextBoxBase}">
<Border Name="Border" CornerRadius="2" Padding="2" BorderThickness="1.5">
<Border.Background>
<SolidColorBrush Color="White" />
</Border.Background>
<Border.BorderBrush>
<SolidColorBrush Color="Blue" />
</Border.BorderBrush>
<ScrollViewer Margin="0" x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Style.Resources>
</Style>
</Window.Resources>
<Grid Style="{StaticResource LargeGridStyle}" Height="158" HorizontalAlignment="Left" Margin="35,12,0,0" Name="grid1" VerticalAlignment="Top" Width="336">
<TextBox Height="23" HorizontalAlignment="Left" Margin="29,21,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" />
<TextBox Height="53" HorizontalAlignment="Left" Margin="29,59,0,0" Name="textBox2" VerticalAlignment="Top" Width="120" />
</Grid>
<TextBox Height="96" HorizontalAlignment="Left" Margin="241,192,0,0" Name="textBox3" VerticalAlignment="Top" Width="120" />
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="385,173,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
Code Behind:
private void button1_Click(object sender, RoutedEventArgs e)
{
textBox1.BorderBrush = Brushes.Red;
}
Reply
Answers (
1
)
How bind data in datagrid using Linq
WPF-DataGrid- Press Enter key, go to next line