Mein Problem ist sicherlich richtig auf meinem Gesicht, aber ich kann es nicht sehen ...WPF - Bindung in einfachen User Control
Ich baue eine sehr einfache Benutzersteuerung - eine 3D-Ellipse - und ich zwei Eigenschaften aussetzen : LightColor und DarkColor. Ich muss diese Eigenschaften an den Farbverlauf in meinem Benutzer Steuerelement binden, aber es zeigt überhaupt keine Farbe. Hier ist mein Usercontrol:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:TestBrushes"
mc:Ignorable="d"
x:Class="TestBrushes._3DEllipse"
x:Name="UserControl"
d:DesignWidth="200" d:DesignHeight="200">
<Grid x:Name="LayoutRoot">
<Ellipse Name="MainEllipse" Stroke="{x:Null}">
<Ellipse.Fill>
<RadialGradientBrush GradientOrigin="0.5,1.1">
<GradientStop Color="{Binding ElementName=UserControl, Path=LightColor}" Offset="1"/>
<GradientStop Color="{Binding ElementName=UserControl, Path=DarkColor}" Offset="0"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
<Ellipse Name="TopReflectionEllipse" Stroke="{x:Null}" Margin="38,0,38,0" VerticalAlignment="Top" Height="90">
<Ellipse.Fill>
<RadialGradientBrush GradientOrigin="0.5,0">
<RadialGradientBrush.RelativeTransform>
<TransformGroup>
<ScaleTransform CenterX="0.5" CenterY="0.5" ScaleX="1" ScaleY="1"/>
<SkewTransform AngleX="0" AngleY="0" CenterX="0.5" CenterY="0.5"/>
<RotateTransform Angle="0" CenterX="0.5" CenterY="0.5"/>
<TranslateTransform X="0" Y="0"/>
</TransformGroup>
</RadialGradientBrush.RelativeTransform>
<GradientStop Color="#A5FFFFFF" Offset="0"/>
<GradientStop Color="#00FFFFFF" Offset="1"/>
</RadialGradientBrush>
</Ellipse.Fill>
</Ellipse>
</Grid>
</UserControl>
und hier ist mein Code-behind:
public partial class _3DEllipse
{
public _3DEllipse()
{
InitializeComponent();
}
public Color DarkColor { get; set; }
public Color LightColor { get; set; }
}
Wenn ich Farben zuweisen, im Gegensatz zu dem in der gezeigten Code-Bindung, es funktioniert ok, aber ich mag die Eigenschaften verwenden, Ich belichte. Was mache ich falsch?
Danke!
Ja, du hast Recht. Ich wusste, dass es auf mein Gesicht starrte. Vielen Dank!!! –
Ich habe gerade eine Abhängigkeitseigenschaft verwendet und alles hat gut funktioniert. –
Es genügt, eine DependencyProperty zu verwenden, aber Sie müssen INotifyPropertyChanged implementieren. – rix0rrr