2012-02-17 91 views
0

私は(.csファイルファイル内)Silverlightの直線勾配変数で楕円を埋めるためにしようとしています。ここに私が試したことがあります...塗りつぶし楕円

しかし、これは既に楕円上にある塗りつぶしを削除します。私はまた、しかし、それはこのエラーを思い付く...

 newEllipse.Background = ballBG; 

を試してみました...「System.Windows.Shapes.Ellipse」受け入れて「背景」と拡張子なしのメソッド「背景」の定義が含まれていません。タイプの最初の引数は「System.Windows.Shapes.Ellipse」(あなたがusingディレクティブまたはアセンブリ参照が不足している?)

それを行う方法上の任意のアドバイスを見つけることができますか?

+1

をどう行動あなたは期待していますか? –

+0

Ellipse' 'には' Background'プロパティはありません。また、 'ballBG'はどんなタイプですか? – ken2k

+0

LinearGradientBrush ballBG =新しいLinearGradientBrush()。 –

答えて

0

たSolidColorBrushたときは:私はこの発見あなたのLinearGradientBrushのために

Ellipse redEllipse = new Ellipse(); 
redEllipse.Height = 100; 
redEllipse.Width = 300;   
SolidColorBrush redBrush = new SolidColorBrush(); 
redBrush.Color = Colors.Red; 
SolidColorBrush blackBrush = new SolidColorBrush(); 
blackBrush.Color = Colors.Black; 
redEllipse.StrokeThickness = 4; 
redEllipse.Stroke = blackBrush; 

redEllipse.Fill = redBrush; 

UPDATE: "しかし、これは楕円形で、すでにある塗りつぶしを削除する"

LinearGradientBrush myBrush=new LinearGradientBrush(); 

myBrush.SetValue(LinearGradientBrush.StartPointProperty, ("0,0")); 
myBrush.GradientStops(1).Offset = 0.5; 

myBrush.SetValue(LinearGradientBrush.EndPointProperty, ("1,1")); 
myBrush.GradientStops(0).Color = Colors.Red; 

myBrush.GradientStops(1).Color = Colors.Green; 

newEllipse.Fill = myBrush; 
+0

おかげでアドバイスを、とにかくLinearGradientBrushと同じことを行うには? –

+0

はそれを考え出した!ありがとう! :) –

関連する問題