Sto cercando un modo per "riempire completamente" uno GridViewColumn
con una casella combinata. Sono in grado di creare un modello di cella con ComboBox
e funziona correttamente. Ma la larghezza e l'altezza di ComboBox
non sono allineate allo GridViewColumn
. Anche se provo a impostare la stessa altezza/larghezza, GridViewColumn
nasconde alcune parti del comboBox.Come "compilare" una GridViewColumn con ComboBox (WPF)?
Ci deve essere qualche impostazione o lo stile di istruire WPF per riempire il ComboBox
completamente nello spazio disponibile di GridViewColumn
Questo è il mio 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>
Grazie. Funziona bene, ma lascia ancora un margine tra il Combo e il bordo della cella. C'è un modo per rimuoverlo? –
Puoi provare a cambiare il ControlTemplate: http://msdn.microsoft.com/en-us/library/ms788717.aspx – HCL
Grazie, questo link ha aiutato. Contrassegnare la tua risposta come soluzione. –