2012-02-09 29 views
0

我正在使用DevExpress WPF控件,比較BarEditItem,ComboBoxEdit和GridControl。 通常當您使用標準ComboBoxEdit時,當您選擇一個項目時,組合框關閉。如何在選擇嵌套網格的行時關閉DevExpress WPF組合框?

但是,我現在將ComboBoxEditSettings.PopupContentTemplate設置爲GridControl。 每當我在GridControl中選擇一行時(通過點擊它),我想要關閉下拉菜單。 它在我點擊按鍵時有效,但當我只點擊一條記錄時就不起作用。

的XAML看起來是這樣的:

<dxb:BarEditItem.EditSettings > 
       <dxe:ComboBoxEditSettings 
        ItemsSource="{Binding Path=EditieCollection}" 
        DisplayMember="JaarEditieNummer" 
        AutoComplete="True" 
        Name="editieComboBox" AcceptsReturn="True" IncrementalFiltering="False" ImmediatePopup="True"> 
        <dxe:ComboBoxEditSettings.PopupContentTemplate > 
         <ControlTemplate> 
          <dxg:GridControl 
           Name="PART_GridControl" 
           ItemsSource="{Binding Path=EditieCollection}" 
           AutoPopulateColumns="False" ShowBorder="False" 
           > 
           <dxg:GridControl.Columns> 
            <dxg:GridColumn x:Name="EditieJaarEditieNummer" FieldName="JaarEditieNummer" Header="Editie" Width="90" /> 
            <dxg:GridColumn x:Name="EditieOplage" FieldName="OplageDatum" Header="Oplage" Width="90" /> 
            <dxg:GridColumn x:Name="EditieVerschijning" FieldName="Datum" Header="Verschijnt" Width="90" /> 
            <dxg:GridColumn x:Name="EditieOmschrijving" FieldName="Omschrijving" Header="Omschrijving" /> 
           </dxg:GridControl.Columns> 
           <dxg:GridControl.View> 
            <dxg:TableView 
             Width="Auto" 
             AllowGrouping="False" IsGroupPanelMenuEnabled="False" 
             FocusedRow="{Binding Path=SelectedEditie, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
             AllowEditing="False" AllowMoveColumnToDropArea="False" AllowMoving="False" 
             NavigationStyle="Row" ShowGroupPanel="False" 
             /> 
           </dxg:GridControl.View> 
          </dxg:GridControl> 
         </ControlTemplate> 
        </dxe:ComboBoxEditSettings.PopupContentTemplate> 
       </dxe:ComboBoxEditSettings> 
      </dxb:BarEditItem.EditSettings> 

我看到其他的解決方案,其中一個將設置標準ComboBox控件假的.IsOpen財產,但DevExpress的ComboBoxEdit不具備那種特性(至少不是我所知道的)。

謝謝!

回答

1

我現在將ComboBoxEditSettings.PopupContentTemplate設置爲 GridControl。

相信LookUpEdit,而不是組合框是你在這種情況下,更好的選擇:

<dxb:BarEditItem Name="bEditItem" > 
    <dxb:BarEditItem.EditSettings > 
     <dxg:LookUpEditSettings ItemsSource="{Binding ...}" 
          DisplayMember="..." 
          ValueMember="..."> 
     </dxg:LookUpEditSettings> 
    </dxb:BarEditItem.EditSettings> 
</dxb:BarEditItem> 

無論如何,你可以使用IsPopupOpen屬性來關閉彈出窗口。

+0

使用LookUpEdit而不是ComboBoxEditSettings就像一個魅力! – 2012-02-13 08:10:24