1. 程式人生 > >DataGrid中DataGridComboBoxColumn

DataGrid中DataGridComboBoxColumn

<UserControl.Resources>
        <x:Array Type="ComboBoxItem" x:Key="PriorityArr">
            <ComboBoxItem>不限</ComboBoxItem>
            <ComboBoxItem>高</ComboBoxItem>
            <ComboBoxItem>中</ComboBoxItem>
            <ComboBoxItem>低</ComboBoxItem>
        </x:Array>
    </UserControl.Resources>
<DataGridComboBoxColumn IsReadOnly="False" Width="auto" MinWidth="100" Header="優先順序">
                        <DataGridComboBoxColumn.ElementStyle>
                            <Style TargetType="{x:Type ComboBox}">
                                <Setter Property="SelectedIndex" Value="{Binding Priority}"/>
                                <Setter Property="ItemsSource" Value="{StaticResource PriorityArr}"/>
                            </Style>
                        </DataGridComboBoxColumn.ElementStyle>
                        <DataGridComboBoxColumn.EditingElementStyle>
                            <Style TargetType="{x:Type ComboBox}">
                                <Setter Property="SelectedIndex" Value="{Binding Priority}"/>
                                <Setter Property="ItemsSource" Value="{StaticResource PriorityArr}"/>
                            </Style>
                        </DataGridComboBoxColumn.EditingElementStyle>
                    </DataGridComboBoxColumn>

<DataGridComboBoxColumn Width="auto" MinWidth="100" Header="XXX" 
                                            SelectedValueBinding="{Binding XxxId,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
                                            SelectedValuePath="XxxId"
                                            DisplayMemberPath="XxxName"
                                            Visibility="{Binding Data.XxxColVisibility,Source={StaticResource proxy}}">
                        <DataGridComboBoxColumn.ElementStyle>
                            <Style TargetType="{x:Type ComboBox}">
                                <Setter Property="ItemsSource"
                                        Value="{Binding Path=DataContext.XxxList, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
                            </Style>
                        </DataGridComboBoxColumn.ElementStyle>
                        <DataGridComboBoxColumn.EditingElementStyle>
                            <Style TargetType="{x:Type ComboBox}">
                                <Setter Property="ItemsSource"
                                        Value="{Binding Path=DataContext.XxxList, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" />
                            </Style>
                        </DataGridComboBoxColumn.EditingElementStyle>
                    </DataGridComboBoxColumn>