Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1322
  • Last Modified:

WPF x:static and brushes/colors

I'm working with a training course and it is throwing an error about not completing the exercises propertly.

In a nut shell, I need to define brushes using the x:Static syntax, and while what I wrote works, it is telling me that I'm using the wrong classes.

I built the XAML using this:
<Rectangle Grid.Row="1" Fill="{x:Static SystemColors.GrayTextBrush}"></Rectangle>

And the error is this:
"The Rectangle is not filled with a color from the Colors class."

I've got another one for a border that says:
"The Border element in the SampleWindow.xaml file does not specify a background color using any brush in the Brushes class."


What do I need to change here?
0
PixelMuse
Asked:
PixelMuse
  • 2
  • 2
1 Solution
 
MikeTooleCommented:
Does the course material insist on using the x:static syntax? I would code it as:
<Rectangle Grid.Row="1" Fill="Gray"></Rectangle>

Can you post the xaml for the border that's giving problems
0
 
PixelMuseAuthor Commented:
Yes, it says to use the x:static syntax. Here is the whole little layout lesson, so you can see what it is asking for. The border code is there too.
<Window x:Class = "Task.SampleWindow"
		xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
		xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
		Title="SampleWindow" Height="302" Width="574">
	<Grid Name="windowGrid">
		<Grid.RowDefinitions>
			<RowDefinition Height="*" />
			<RowDefinition Height="*" />
		</Grid.RowDefinitions>
        <Border Background="{x:Static SystemColors.HighlightTextBrush }" Padding="5">
            <Button>
                <Button.Background>
                    <ImageBrush ImageSource="logo.gif"/>
                </Button.Background>
            </Button>
        </Border>
        
        <Rectangle Grid.Row="1" Fill="{x:Static SystemColors.GrayTextBrush}"></Rectangle>
            <!--
			Todo:
			The SampleWindow.xaml XAML file declares a single Border element within the
			 <Grid> tags that uses markup extension syntax to specify a background color
			 using any brush in the Brushes class. The Border element has padding of 5 units
			 on each side.
		-->
		<!--
			Hint:
			There are a variety of ways to set the Background property of a Border object, but 
			 you should look at the x:Static reference provided in the links section for an 
			 example of the syntax required.
		-->
		
		<!--
			Todo:
			The Border element declared in the SampleWindow.xaml XAML file contains a Button
		 	 control as a child element. The Button control uses property element syntax to
		 	 set the background property to an ImageBrush Brush with an ImageSource property
		 	 of logo.gif.
		-->

		<!-- 
			Hint 
			To create an ImageBrush brush with ImageSource property of logo.gif
			 you can use the following markup: <ImageBrush ImageSource="logo.gif" />
		-->


		<!--
			Todo:
			The SampleWindow.xaml XAML file declares a Rectangle element within the <Grid>
			 tags, which is filled with any color defined on the Colors class using attribute
			 syntax.
		-->

		<!--
			Todo:
			The Rectangle declared in the SampleWindow.xaml XAML file is assigned to the
			 second row of the containing grid, using attached property syntax.
		-->
		
		<!--
			Hint:
			The rows and columns of a Grid control are identified using a zero-based index. 
			 You should take this into account when assigning a control to a particular row 
			 or column.
		-->

	</Grid>
</Window>

Open in new window

0
 
MikeTooleCommented:
It asks to select a member of the Brushes class, not SysttemColors, try this:
Fill="{x:Static Brushes.Gray}"
0
 
PixelMuseAuthor Commented:
I don't know why I didn't try that. I start typing "Brushes", but intellisense didn't pick it up so I decided not to continue.

Thanks.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now