Man*_*ani 7 c# wpf listview gridview combobox
我正在寻找一种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>
Run Code Online (Sandbox Code Playgroud)
HCL*_*HCL 10
将以下样式包含在ListViews资源中.然后,您可以将ComboBox的HorizontalAlignment属性设置为HorizontalAlignment="Stretch"
,它将按您的意愿执行:
<ListView.Resources>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.Resources>
Run Code Online (Sandbox Code Playgroud)