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?
Pour tous les programmeurs paresseux, la couleur .net enums:
myRectangle.Fill = new SolidColorBrush(System.Windows.Media.Colors.AliceBlue);
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));
Couleur rectangle dans XAML pour Windows Phone:
<Rectangle Width="480" Height="200">
<Rectangle.Fill>
<SolidColorBrush Color="Azure" />
</Rectangle.Fill>
</Rectangle>
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.
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
Rectangle blueRectangle = new Rectangle();
// Fill rectangle with blue color
blueRectangle.Fill = blueBrush;
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.