0
ComboBox에 3 개의 열을 표시하려고합니다.WPF ComboBox 데이터베이스의 여러 열
여기 내 해결책이지만, 불행히도 작동하지 않습니다.
SqlDataAdapter da = new SqlDataAdapter("Select neve, kialakitas,befogado_kepesseg from helyszin", c1);
DataSet ds = new DataSet();
da.Fill(ds, "hely");
cbHelyszin.ItemsSource = ds.Tables["hely"].DefaultView;
cbHelyszin.DisplayMemberPath = ds.Tables["hely"].Columns["neve"].ToString();
cbHelyszin.DisplayMemberPath = ds.Tables["hely"].Columns["kialakitas"].ToString();
cbHelyszin.DisplayMemberPath = ds.Tables["hely"].Columns["befogado_kepesseg"].ToString();
cbHelyszin.SelectedValuePath = ds.Tables["hely"].Columns["neve"].ToString();
XAML
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid x:Name="gd" TextElement.Foreground="Black">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Margin="5" Grid.Column="0" Text="{Binding }"/>
<TextBlock Margin="5" Grid.Column="1" Text="{Binding }"/>
<TextBlock Margin="5" Grid.Column="2" Text="{Binding }"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="ComboBoxItem.IsSelected" Value="True">
<Setter TargetName="gd" Property="Background" Value="Gray"></Setter>
<Setter TargetName="gd" Property="TextElement.Foreground" Value="White"></Setter>
</Trigger>
<Trigger Property="ComboBoxItem.IsMouseOver" Value="True">
<Setter TargetName="gd" Property="Background" Value="Blue"></Setter>
<Setter TargetName="gd" Property="TextElement.Foreground" Value="White"></Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
을 나는이 정보가 내 콤보 상자에 맞게 만들 수있는 방법 :
나는 프로그램을 실행하는 방법은 다음과 같이 진행하는 시작했다?
조정 가능한 DisplayMemberPath 및 ItemTemplate 요소를 동시에 사용할 수 없습니다. 이것은 오류 메시지 – user3793233
@ user3793233 DisplayMemberPath를 설정하지 않으면 필요가 없습니다. – McGarnagle