我需要使用动态创建的LinearGradientBrush创建组件。

我尝试过的

View :

<Grid.Background>
   <LinearGradientBrush  EndPoint="0.5,1"
                         MappingMode="RelativeToBoundingBox"
                         StartPoint="0.5,0"
                         GradientStops="{Binding ColorsThresholds }">
   </LinearGradientBrush>
</Grid.Background>

ViewModel:
public class MyViewModel: Screen
{
    public BindableCollection<GradientStop> ColorsThresholds
    {
        get
        {
            return = GenerateRanges();
        }
    }
    private BindableCollection<GradientStop> GenerateRanges()
    {
        //Some generating stuff
    }

    public MyViewModel()
    {
         NotifyOfPropertyChange(()=> ColorsThresholds);
    }


}
ColorsThresholds生成的很好,但是仍然不可见。

最佳答案

here可以看到,GradientStops的类型为GradientStopCollection。代替BindableCollection<GradientStop>,使用GradientStopCollection

关于c# - C#WPF MVVM Caliburm-micro绑定(bind) `GradientStops`动态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45508389/

10-13 01:58