【问题标题】:ComboBoxEdit in devexpress does not bind the itemsource, using mvvm wpfdevexpress中的ComboBoxEdit不绑定itemsource,使用mvvm wpf
【发布时间】:2021-09-29 07:29:33
【问题描述】:

我正在尝试在下面绑定一个 ComboBoxEdit,但下拉值不会被填充。

查看

<dxg:GridControl x:Name="OwnershipGrid" ItemsSource="{Binding Path=MarketOwnershipSettings.MarketOwnershipMapping, Mode=TwoWay}" SelectedItem="{Binding SelectedMapping}" SelectionMode="Row">
    <dxg:GridControl.View>
        <dxg:TableView x:Name="OwnershipView" ShowSearchPanelFindButton="False" ShowSearchPanelMode="Never" ShowFilterPanelMode="Never" AllowBestFit="True" ShowGroupPanel="False" AllowResizing="True">
        </dxg:TableView>
    </dxg:GridControl.View>
    <dxg:GridControl.Columns>
        <dxg:GridColumn FieldName="MarketGroupId" Header="Market Group" AllowEditing="False" Width="80" />
        <dxg:GridColumn FieldName="DefaultUser" Header="Default User" Width="80">
            <dxg:GridColumn.CellTemplate>
                <DataTemplate>
                    <dxe:ComboBoxEdit x:Name="PART_Editor" ItemsSource="{Binding Path=DefaultUsers}" />
                </DataTemplate>
            </dxg:GridColumn.CellTemplate>
        </dxg:GridColumn>
        <dxg:GridColumn FieldName="OverrideUserId" Header="Override User" Width="90">
            <dxg:GridColumn.CellTemplate>
                <DataTemplate>
                    <dxe:ComboBoxEdit x:Name="PART_Editor" ItemsSource="{Binding  Path=OverrideUsers,Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding SelectedMapping.OverrideUser}" />
                </DataTemplate>
            </dxg:GridColumn.CellTemplate>
        </dxg:GridColumn>
    </dxg:GridControl.Columns>
</dxg:GridControl>

模型 - MarketOwnershipModel

public ObservableCollection<MarketOwnershipMappingModel> MarketOwnershipMapping { get { return _marketOwnershipMapping; } set { _marketOwnershipMapping = value; RaisePropertyChanged(() => MarketOwnershipMapping); } } 

我可以查看除组合框项目源之外的所有字段

【问题讨论】:

    标签: c# wpf mvvm


    【解决方案1】:

    您可以使用ComboBoxEditSettings,而不是使用CellTemplate

    <dxg:GridColumn
            Width="1*"
            FieldName="YourPropertyNameToBindOnDefaultUsers"
        >
    
        <dxg:GridColumn.EditSettings>
            <dxe:ComboBoxEditSettings
                    ApplyItemTemplateToSelectedItem="True"
                    ItemsSource="{Binding DefaultUsers}">
                <dxe:ComboBoxEditSettings.ItemTemplate>
                    <DataTemplate>
                        <TextBlock Padding="3" Text="{Binding}" />
                    </DataTemplate>
                </dxe:ComboBoxEditSettings.ItemTemplate>
            </dxe:ComboBoxEditSettings>
        </dxg:GridColumn.EditSettings>
    </dxg:GridColumn>
    

    【讨论】:

      猜你喜欢
      • 2018-12-28
      • 2015-06-05
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多