web-dev-qa-db-fra.com

Comment colorer un rectangle en C # déclaré en XAML dans WPF?

Comment colorer un rectangle en C # déclaré en XAML dans WPF?

Il existe un contrôle rectangle en XAML. Dans mon code C #, il y a des moments où il serait agréable de remplir la couleur de fond. Comment est-que quelqu'un peut faire ça?

20
xarzu

Pour tous les programmeurs paresseux, la couleur .net enums:

myRectangle.Fill = new SolidColorBrush(System.Windows.Media.Colors.AliceBlue); 
31
Metanoia

En supposant que vous nommiez votre rectangle myRectangle, vous pouvez le colorer à l'aide de la propriété Fill:

myRectangle.Height = 200;
myRectangle.Width = 200;
myRectangle.Stroke = new SolidColorBrush(Color.FromRgb(0, 111, 0));
myRectangle.Fill = new SolidColorBrush(Color.FromRgb(0, 111, 111));
12
Brian R. Bondy

Couleur rectangle dans XAML pour Windows Phone:

<Rectangle Width="480" Height="200">
    <Rectangle.Fill>
        <SolidColorBrush Color="Azure" />
    </Rectangle.Fill>
</Rectangle>
9
David Douglas

Wpf binding pourrait le faire sans avoir à référencer le contrôle par nom dans le code:

<Rectangle Width="480" Height="200" Fill="{Binding Path=FillColor}"/>

Ensuite, placez une propriété sur votre classe DataContext, en supposant que vous avez implémenté INotifyPropertyChanged:

public Brush FillColor  
{   
  get { return this.fillColor; }   
  set
  {
     this.fillColor = value;
     if (PropertyChanged != null)
     {
       PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     }   
  }
}

Vous pouvez ensuite affecter la couleur requise à la propriété FillColor et l'interface utilisateur se mettra à jour.

7
benPearce

Définissez la propriété x:Name dans votre code XAML sur ce que vous souhaitez désigner par le rectangle, comme dans votre code c #. Ensuite, vous pouvez accéder à toutes les propriétés du rectangle dans le code, telles que whateverYouNamedIt.Fill

5
Donnie
Rectangle blueRectangle = new Rectangle();
// Fill rectangle with blue color
blueRectangle.Fill = blueBrush;
4
VoodooChild

Pour toutes les personnes recherchant cela en 2019, j'utilise WPF et vous ajoutez simplement cette propriété à votre rectangle:

Votre rectangle devrait ressembler à ceci:

    <Rectangle HorizontalAlignment="Left" Height="75" Stroke="Black" StrokeThickness="4" VerticalAlignment="Top" Width="792"/>

Juste avant la barre oblique, ajoutez Fill="YourColorHere", par exemple, j'utilise ceci: `Fill =" AliceBlue ", IntelliSense devrait vous donner une liste de couleurs à parcourir.

0
Braythor Codes