C# 从xaml填充RadComboBox列

C# 从xaml填充RadComboBox列,c#,wpf,xaml,telerik,C#,Wpf,Xaml,Telerik,有没有一种方法可以在不必使用C代码的情况下将项目插入列中的RadComboBox 我有一个应用程序显示一个Telerik RadGridView,第一列显示状态,我需要放置一个RadComboBox,其中两个图例仅显示:“Activa”或“Cancelada”,还可以通过更改状态来更改文本颜色 颜色更改可以在事件SelectionChanged中执行,我不知道是这样做的,但在RadComboBox列中: <ComboBox Height="23" Name="comboBox1" Widt

有没有一种方法可以在不必使用C代码的情况下将项目插入列中的RadComboBox

我有一个应用程序显示一个Telerik RadGridView,第一列显示状态,我需要放置一个RadComboBox,其中两个图例仅显示:“Activa”或“Cancelada”,还可以通过更改状态来更改文本颜色

颜色更改可以在事件SelectionChanged中执行,我不知道是这样做的,但在RadComboBox列中:

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

它必须是这样的:


您可以执行类似于此代码的操作。您可以使用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#代码:

公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
列表数据=新列表();
SomeData d=新的SomeData(“sara”);
数据.添加(d);
d=新数据(“jons”);
数据.添加(d);
d=新数据(“bil”);
数据.添加(d);
d=新数据(“玫瑰”);
数据.添加(d);
d=新数据(“史蒂夫”);
数据.添加(d);
listView1.DataContext=数据;
}
}
公共类数据
{
公共数据(字符串名称)
{
名称=名称;
}
公共字符串名称{set;get;}
}

您可以执行类似于此代码的操作。您可以使用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#代码:

公共部分类主窗口:窗口
{
公共主窗口()
{
初始化组件();
列表数据=新列表();
SomeData d=新的SomeData(“sara”);
数据.添加(d);
d=新数据(“jons”);
数据.添加(d);
d=新数据(“bil”);
数据.添加(d);
d=新数据(“玫瑰”);
数据.添加(d);
d=新数据(“史蒂夫”);
数据.添加(d);
listView1.DataContext=数据;
}
}
公共类数据
{
公共数据(字符串名称)
{
名称=名称;
}
公共字符串名称{set;get;}
}