从xaml填充RadComboBox列

时间:2016-04-11 16:17:03

标签: c# wpf xaml telerik

有没有办法在不必使用C#代码的情况下将项目插入列中的 RadComboBox

我有一个显示 Telerik RadGridView 的应用程序,第一列显示状态,我需要放置一个 RadComboBox ,其中两个图例仅显示:" ACTIVA"或" Cancelada"并通过更改状态来更改文本颜色。

在SelectionChanged事件中可以进行颜色更改,我不知道是在RadComboBox列中做了类似的事情:

<ComboBox Height="23" Name="comboBox1" Width="120">
    <ComboBoxItem Content="Activada"/>
    <ComboBoxItem Content="Cancelada"/>
</ComboBox>  

它必须如下所示:

enter image description here

1 个答案:

答案 0 :(得分:2)

你可以做这样的代码。只是你可以使用gridview而不是listview

<ListView ItemsSource="{Binding}"  Name="listView1">
        <ListView.View>
            <GridView>
                <GridViewColumn Header="By" DisplayMemberBinding="{Binding Name}"/>
                <GridViewColumn Header="HI">
                    <GridViewColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox Name="comboBox1"  Width="60" >
                                <ComboBox.Items>
                                    <ComboBoxItem Content="Item1"/>
                                    <ComboBoxItem Content="Item2"/>
                                </ComboBox.Items>
                            </ComboBox>
                        </DataTemplate>
                    </GridViewColumn.CellTemplate>
                </GridViewColumn>
            </GridView>
        </ListView.View>
    </ListView>

和C#代码:

 public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        List<SomeData> data=new List<SomeData>();
        SomeData d=new SomeData("sara");
        data.Add(d);
        d=new SomeData("jons");
        data.Add(d);
        d=new SomeData("bil");
        data.Add(d);
        d=new SomeData("rose");
        data.Add(d);
        d=new SomeData("steve");
        data.Add(d);

        listView1.DataContext = data;
    }
}
public class SomeData
{
    public SomeData(string name)
    {
        Name = name;
    }
    public string Name { set; get; }
}