Silverlight 4.0 将0转换为图像

Silverlight 4.0 将0转换为图像,silverlight-4.0,telerik,telerik-grid,ivalueconverter,Silverlight 4.0,Telerik,Telerik Grid,Ivalueconverter,我有一个telerik rad网格,有两列,1。我是受训练的,2。数量 isconstraint是一个揭露真假的谎言。 数量是整数 我的要求是,如果isconstraint为false,则将数量列中的0转换为图像或彩色画笔 我试着使用IvalueConverter。我试图以converterparameter的身份通过Isconstraint。在运行时,它正在成功构建,但没有加载页面。有谁能帮我解决这个问题吗。非常感谢你。 我的代码看起来像这样 <telerik:GridViewData

我有一个telerik rad网格,有两列,1。我是受训练的,2。数量

isconstraint是一个揭露真假的谎言。 数量是整数

我的要求是,如果isconstraint为false,则将数量列中的0转换为图像或彩色画笔

我试着使用IvalueConverter。我试图以converterparameter的身份通过Isconstraint。在运行时,它正在成功构建,但没有加载页面。有谁能帮我解决这个问题吗。非常感谢你。 我的代码看起来像这样

 <telerik:GridViewDataColumn DataMemberBinding="{Binding LastQtyAvail}"                                                                                
                                                Width="130"                                             
                                                IsReadOnly="True" TextAlignment="Right" HeaderTextAlignment="Center">
                                                <telerik:GridViewDataColumn.CellTemplate>
                                                            <DataTemplate>
                                                        <StackPanel Orientation="Horizontal">
                                                            <Image x:Name="img" Visibility="Visible" Source="{Binding LastQtyAvail,Converter={StaticResource QuantityToImageConverter},ConverterParameter={Binding IsConstraint}}" Width="100" Height="100"/>
                                                            <TextBlock Text="{Binding LastQtyAvail}">
                                                            </TextBlock>
                                                        </StackPanel>
                                                            <!--<Border BorderThickness="1"
                                                                        CornerRadius="5"
                                                                        VerticalAlignment="Top"
                                                                        BorderBrush="Black"
                                                                        Margin="0"
                                                                        Background="{Binding LastQtyAvail, 
                                                                        Converter={StaticResource QuantityToImageConverter},ConverterParameter={Binding IsConstraint}}">                                                                

                                                                <Image x:Name="img" Visibility="Visible" Source="{Binding LastQtyAvail,Converter={StaticResource QuantityToImageConverter},ConverterParameter={Binding IsConstraint}}" Width="100" Height="100"/>
                                                            <TextBlock Text="{Binding LastQtyAvail}">
                                                            </TextBlock>
                                                        </Border>-->

                                                    </DataTemplate>
                                                </telerik:GridViewDataColumn.CellTemplate>

                                            </telerik:GridViewDataColumn>

<telerik:GridViewDataColumn DataMemberBinding="{Binding IsConstraint, Mode=TwoWay}" HeaderTextAlignment="Center"                                                                                
                                                IsGroupable="False" IsVisible="{Binding IsColumnVisibleToCustomer, Source={StaticResource PFOViewModel}}"
                                                IsReadOnly="{Binding CanExecuteProductUpdateConstrain, Converter={StaticResource BooleanNotConverter}, Mode=OneWay}"
                                                Background="#77ADD8E6"                                                                                
                                                Width="74" />

我通过下面的链接解决了这个问题

它对我有用

public class QuantityToImageConverter : IValueConverter
    {

        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            //string path = string.Empty;
            //int result = (int)value;

            //string falsePath = "/Brightstar.VSO;component/Assets/DataGrid/False.png";

            //if (parameter == null)
            //{
            //    //int imagePaths = Convert.parameter.ToString().Split('|');
            //    //if (imagePaths.Length == 2)
            //    //{
            //    //    truePath = imagePaths[0];
            //    //    falsePath = imagePaths[1];
            //    //}
            //}

            //if (parameter != null)
            //{
            // // int imagePaths = Convert.parameter.ToString().Split('|');
            //    int imagePaths = Convert.Parameter.Tostring().Split('1');
            //    if (imagePaths.Length == 2)
            //    {

            //        falsePath = imagePaths[1];
            //    }
            //}


            ////if (result==0 && )
            ////{

            ////}
            ////else
            ////{
            ////    path = falsePath;
            ////}



            Int32 id = System.Convert.ToInt32(value);

            LinearGradientBrush brush = new LinearGradientBrush();
            brush.StartPoint = new Point(0, 1);
            brush.EndPoint = new Point(0, 0);
            brush.GradientStops.Add(new GradientStop()
            {
                Color = Colors.White,
                Offset = 0
            });
            brush.GradientStops.Add(new GradientStop()
            {
                Color = Color.FromArgb(
                    200,
                    System.Convert.ToByte((id * 103) % 256),
                    System.Convert.ToByte((id * 157) % 256),
                    System.Convert.ToByte((id * 233) % 256)
                ),
                Offset = 1
            });

            return brush;


            //ImageSourceConverter conv = new ImageSourceConverter();
            //return conv.ConvertFromString(falsePath);
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            return 0;
        }
    }