DataGrid가 포함 된 WPF 사용자 정의 컨트롤이 있습니다. 이 DG에는 상태에 대한 ComboBox를 비롯한 여러 열이 포함되어 있습니다. 상태 목록이 채워지고 내 ViewModel에 속성으로 저장됩니다.내 WPF DataGrid의 ComboBox에 항목이 표시되지 않습니다.
StateList 속성을 내 Combobox의 ItemsSource에 바인딩하려고하지만 양식을 실행하고 DG를 편집하려고 할 때 콤보 상자에 값이 없으면 콤보 상자가 비어 있습니다.
다음은 usercontrol의 XAML입니다.
<UserControl x:Class="myproject.View.ucContactView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" d:DesignHeight="475" d:DesignWidth="977">
<UserControl.Resources>
<ResourceDictionary Source="/Templates/MyResourceDictionary.xaml"/>
</UserControl.Resources>
<Grid DataContext="{Binding ViewModel}">
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding AddressCollectionViewSource.View}">
<DataGridTemplateColumn Header="State" Width="160">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding StateDescription}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<ComboBox Name="cboState"
SelectedValuePath="StateKey"
ItemTemplate="{StaticResource dtStateTemplate}"
ItemsSource="{Binding StateList}"
SelectedItem="{Binding StateKey, Mode=TwoWay}"
Width="100" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid>
</Grid>
</UserControl>
이상한 것은 내가 똑같은 콤보와 함께이 UserControl을 다른 콤보를 만들 경우 예상대로,이 콤보 상자가 작동하는 것입니다.
<!-- this works as long as it's not in the DG -->
<StackPanel Height="126" HorizontalAlignment="Left" Margin="766,275,0,0" Name="stackPanel1" VerticalAlignment="Top" Width="200" >
<ComboBox Name="cboState2"
SelectedValuePath="StateKey"
ItemTemplate="{StaticResource dtStateTemplate}"
ItemsSource="{Binding StateList}"
SelectedItem="{Binding StateKey, Mode=TwoWay}"
Width="100" />
</StackPanel>
DG의 콤보 박스가 StateList 속성의 값을 표시하지 않는 이유는 무엇입니까? 왜 분리 콤보 박스가 제대로 작동합니까?
가 왜'DataGridComboBoxColumn'을 사용할 수 없습니다? –