Как «заполнить» GridViewColumn ComboBox (WPF)?

Я ищу способ «полностью заполнить» GridViewColumn с помощью поля со списком. Я могу создать шаблон ячейки с ComboBox , и он работает нормально. Но ширина и высота ComboBox не совпадают с GridViewColumn .

Я ищу способ «полностью заполнить» GridViewColumn с помощью поля со списком. Я могу создать шаблон ячейки с ComboBox , и он работает нормально. Но ширина и высота ComboBox не совпадают с GridViewColumn .

Я ищу способ «полностью заполнить» GridViewColumn с помощью поля со списком. Я могу создать шаблон ячейки с ComboBox , и он работает нормально. Но ширина и высота ComboBox не совпадают с GridViewColumn . Даже если я попытаюсь установить ту же высоту / ширину, GridViewColumn скрывает некоторую часть comboBox.

Должны быть некоторые настройки или стиль, чтобы инструктировать WPF заполнить ComboBox полностью в доступное пространство GridViewColumn

Это мой XAML.

<Window x:Class="WPFStarter.ComboInsideListView.ComboBoxInsideListViewUsingObject"
        x:Name="userControl"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="ComboBoxInsideListViewUsingObject" Height="300" Width="400">
    <Grid>
        <ListView x:Name="listView" ItemsSource="{Binding ElementName=userControl, 
            Path=DataContext.Items}" SelectedItem="{Binding ElementName=userControl, Path=DataContext.SelectedItem, Mode=TwoWay}">                   
            <ListView.View>
                <GridView>
                   <GridViewColumn Header="First Name"  DisplayMemberBinding="{Binding Path=First}"/>
                   <GridViewColumn Header="Gender">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <ComboBox x:Name="cmb_Gender" Width="75" SelectedValue="{Binding Path=Gender}"                    
                  ItemsSource="{Binding ElementName=userControl, Path=DataContext.Genders}" GotFocus="ComboBox_GotFocus"         />
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>

            </ListView.View>

        </ListView>
    </Grid>
</Window>
7
задан OcuS 19 August 2013 в 09:03
поделиться

2 ответа

Включите следующий стиль в ресурсы ListViews. Затем вы можете установить для свойства HorizontalAlignment ComboBox значение HorizontalAlignment = "Stretch" , и оно будет работать так, как вы хотите:

 <ListView.Resources>
          <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Stretch" />
          </Style>
 </ListView.Resources>
10
ответ дан 6 December 2019 в 22:59
поделиться

Пробовали ли вы это:

<ComboBox x:Name="cmb_Gender" Width="75" SelectedValue="{Binding Path=Gender}"                    
    ItemsSource="{Binding ElementName=userControl, Path=DataContext.Genders}" 
    GotFocus="ComboBox_GotFocus" 
    HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
1
ответ дан 6 December 2019 в 22:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: