C# - WPF-Rechteck Füllen Bindung
Muss ich zum binden Farbe zu füllen Sie das Rechteck.
XAML:
<Rectangle Fill="{Binding Colorr}"
VerticalAlignment="Center"
Height="3" Width="16"
Margin="3, 1, 5, 0"
Visibility="Visible"/>
ViewModel:
public ItemViewModel()
{
Colorr = Colors.Red;;
}
public Color Colorr
{
get {
return color; }
set
{
color = value;
NotifyOfPropertyChange(() => Colorr);
}
}
Das resultierende Rechteck nicht sichtbar ist (oder transparent ist - es ist schwer zu sagen...), anstatt Sie sichtbar und rot. Wie kann ich dieses problem loszuwerden?
- verwenden Sie nicht
Color
stattdessenSolidColorBrush
. - Hast du den DataContext? Wenn Sie einen hard-code der Farbe in Xaml können Sie sehen, das Rechteck?
- mit
Brush
statt odColor
geholfen 🙂 @MartinoBordin - ja, wenn ich die Farbe in xaml kann ich sehen, das Rechteck, aber es passt nicht zu meinen Bedürfnissen - die Farbe muss geändert werden, dynamisch. Nein, ich glaube nicht, legen Sie den Daten-Kontextrectangle
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rechteck.Fill
(die es erbt vonShape
) ist einBrush
, nicht einColor
. So machen Sie Ihre Immobilie einBrush
statt:Möglicherweise gibt es andere Probleme, aber Sie brauchen, um dies zu beheben einer der ersten.
Umgekehrt ist die Verwendung
ColorToBrushConverter
, wie die, die unten:Dann in XAML definieren Sie den Konverter als Ressource und verwenden Sie es wie diese: