根据RoundTripTime属性更改椭圆颜色

时间:2017-08-21 22:15:58

标签: c# xaml

  <StackPanel Orientation="Horizontal">
        <TextBlock Text="RoundTrip Time:                           " Style="{StaticResource tbStyle}" />
        <Ellipse x:Name="RoundTripEllipse" Fill="{Binding RTStatus}" Height="20" Stroke="Black" Width="20"/>
    </StackPanel>

属性RTStatus如下所示。

   public Brush RTStatus{
            get
            {
                if (RT_Time < 60)
                {
                    return Brushes.Green; // RoundTripStatus.green;
                }
                else if ((RT_Time > 60) && (RT_Time < 100))
                {
                    return Brushes.Orange;
                }
                else
                {
                    return Brushes.Red;
                }
            }
        }

出于某种原因,它似乎无法奏效。有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

为了重新评估绑定值,您必须按照get_post_meta()中的说明在视图模型上实现INotifyPropertyChanged接口。

请注意,每次PropertyChanged?.Invoke(this, nameof(RTStatus))的值发生变化时,您都必须致电RT_Time