ComboBoxをエンティティにバインドします。コンボボックスに、次のように、異なる形式(整数、文字列、およびDateTime値)の複数の値を各アイテムに表示したいと思います。
Item#1) 100 - Description - 01/01/2013
Item#2) 101 - Description - 01/01/2013
ただし、ComboBoxはSQL char(C#文字列)値のみを表示し、その他は空です。
Item#1) - Description -
Item#2) - Description -
コンバーターを使用する必要がありますか、間違った道を進んでいますか、それとももっと簡単な解決策がありますか?
XAMLの場合
<UserControl.Resources>
<CollectionViewSource x:Key="tSCHEDEViewSource" d:DesignSource="{d:DesignInstance my:TSCHEDE, CreateList=True}" />
<DataTemplate x:Key="SchedaTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=KSCHEDA}" Width="60"></TextBlock>
<TextBlock Text="{Binding Path=DArticolo}" Width="200"></TextBlock>
<TextBlock Text=" - " Width="40"></TextBlock>
<TextBlock Text="{Binding Path=DStorico}" Width="150"></TextBlock>
</StackPanel>
</DataTemplate>
</UserControl.Resources>
<ComboBox ItemTemplate="{StaticResource SchedaTemplate}" Grid.Column="1" Grid.Row="1" Height="23" HorizontalAlignment="Left" ItemsSource="{Binding}" Margin="23,129,0,0" Name="tSCHEDEComboBox1" SelectedValuePath="KScheda" VerticalAlignment="Top" Width="393">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
.edmxモデル
<EntityType Name="TSCHEDE">
<Key>
<PropertyRef Name="KSCHEDA" />
</Key>
<Property Name="KSCHEDA" Type="int" Nullable="false" />
<Property Name="KLINEA" Type="int" Nullable="false" />
<Property Name="DSCHEDA" Type="char" MaxLength="30" />
<Property Name="DSTORICO" Type="datetime" />
<Property Name="FINSMAN" Type="char" MaxLength="1" />
<Property Name="DNOTE" Type="char" MaxLength="255" />
<Property Name="FCANC" Type="char" MaxLength="1" />
<Property Name="DArticolo" Type="char" MaxLength="60" />
<Property Name="FFIGLIA" Type="char" MaxLength="1" />
</EntityType>