Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用DataTemplate for infragistics XamComboEditor(WPF)_Wpf_Infragistics - Fatal编程技术网

使用DataTemplate for infragistics XamComboEditor(WPF)

使用DataTemplate for infragistics XamComboEditor(WPF),wpf,infragistics,Wpf,Infragistics,如何使用基础设施组合框的数据模板? 基本上,我们希望在一个组合框中显示多个列。这些列来自同一对象的不同属性。下面是解决问题的示例 <igDP:Field Name="MultumRoute" Label="Route" > <igDP:Field.Settings> <igDP:FieldSettings EditAsType="{x:Type Domain:MultumRoute}" EditorType="{x:Type igDE:Xam

如何使用基础设施组合框的数据模板?
基本上,我们希望在一个组合框中显示多个列。这些列来自同一对象的不同属性。

下面是解决问题的示例

<igDP:Field Name="MultumRoute" Label="Route" >
    <igDP:Field.Settings>
        <igDP:FieldSettings EditAsType="{x:Type Domain:MultumRoute}" EditorType="{x:Type igDE:XamComboEditor}" >
            <igDP:FieldSettings.EditorStyle>
                <Style TargetType="{x:Type igDE:XamComboEditor}">
                    <Setter Property="DisplayMemberPath" Value="Name" />
                    <Setter Property="ItemsSource" Value="{Binding Source={StaticResource multumRouteDropDownDataSource}, Mode=OneWay}"  />
                </Style>
            </igDP:FieldSettings.EditorStyle>
        </igDP:FieldSettings>
    </igDP:Field.Settings>
</igDP:Field>

列表代码=新列表()
{
new CodeItem(){Code=“AAA”,Description=“Alpha”},
new CodeItem(){Code=“BBB”,Description=“Bravo”},
new CodeItem(){Code=“CCC”,Description=“Charlie”},
new CodeItem(){Code=“DDD”,Description=“Delta”},
new CodeItem(){Code=“EEE”,Description=“Echo”},
};
comboBox1.ItemsSource=代码;


Short side note:如果要使用Infragistics在组合编辑器中显示多个列,可以使用。据我所知,它是在年引进的。
        List<CodeItem> codes = new List<CodeItem>()
        {
            new CodeItem() { Code="AAA", Description="Alpha" },
            new CodeItem() { Code="BBB", Description="Bravo" },
            new CodeItem() { Code="CCC", Description="Charlie" },
            new CodeItem() { Code="DDD", Description="Delta" },
            new CodeItem() { Code="EEE", Description="Echo" },
        };

        comboBox1.ItemsSource = codes;
   <igEditors:XamComboEditor IsEditable="False" Name="comboBox1" Height="23" Width="150">
        <igEditors:XamComboEditor.PreDropDownAreaTemplate>
            <DataTemplate>
                <StackPanel Orientation="Horizontal">
                    <TextBlock Text="Code" FontWeight="Bold" Width="50" />
                    <TextBlock Text="Description" FontWeight="Bold" Width="100" />
                </StackPanel>
            </DataTemplate>
        </igEditors:XamComboEditor.PreDropDownAreaTemplate>

        <igEditors:XamComboEditor.ComboBoxStyle>
            <Style TargetType="ComboBox">
                <Setter Property="ItemTemplate">
                    <Setter.Value>
                        <DataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Code}" Width="50" />
                                <TextBlock Text="{Binding Description}" Width="100" />
                            </StackPanel>
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </igEditors:XamComboEditor.ComboBoxStyle>
    </igEditors:XamComboEditor>