Im Wesentlichen möchte ich tun, wie der Titel sagt, wenn die Spaltenbreite 0,50 ist dann das Rechteck sollte rot sein, wenn es 0,75 ist dann sollte es gelb sein, und wenn es 1 ist dann sollte es grün sein.
Ich dachte, ich könnte dies mit DataTriggers erreichen, aber aus irgendeinem Grund bekomme ich "Object Reference Not Set To An Instance Of An Object" Fehler, hier ist mein Code, bin ich etwas hier fehlt?
Zu Ihrer Information: Die Eigenschaft width wird im Backend durch ein timer_tick-Ereignis geändert.
<Grid x:Name="Grid1" Width="300" Height="30">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="MyColumn1" Width=".50*"></ColumnDefinition>
<ColumnDefinition x:Name="MyColumn2" Width=".50*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<Grid.Triggers>
<DataTrigger Binding="{Binding ElementName=MyColumn1,Path=Width}" Value=".50*">
<Setter TargetName="rect" Property="Fill" Value="Red"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=MyColumn1,Path=Width}" Value=".75*">
<Setter TargetName="rect" Property="Fill" Value="Yellow"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=MyColumn1,Path=Width}" Value="1">
<Setter TargetName="rect" Property="Fill" Value="Green"></Setter>
</DataTrigger>
</Grid.Triggers>
<Rectangle x:Name="rect" Grid.Column="0" HorizontalAlignment="Stretch"></Rectangle>
<Rectangle Grid.Column="1" Fill="Blue"></Rectangle>
</Grid>