私はコンボボックスで小さなアプリケーションを構築しようとしていますが、アイテムが正しく更新されないという問題があります。正しく更新されています。 XAMLコードを次に示します。ComboBoxはItemsCountを反映していません
<ComboBox Name="NumbersCombo" Width="118">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
後はcon.Numbersが文字列や数値クラスの辞書があるページのロード、上のItemsSourceのコードがされ、それゆえ値は取り付けのために送信されます。
NumbersCombo.ItemsSource = con.Numbers.Values
後コンボボックスに新しいアイテムを追加するためのコードです:
Dim temp As New BSPLib.ContactLib.ContactCon(con.prime.Conid, False)
con.Numbers.Add(temp.ConRowID, temp)
NumbersCombo.ItemsSource = con.Numbers.Values
TestLabel1.Content = NumbersCombo.Items.Count
以下は、クラスのコードです:
Public Class ContactCon
Property ConId As String
Property ConRowID As String
Property Title As String
Property Mob1 As String
Property Mob2 As String
Property Land1 As String
Property Land2 As String
Property Email1 As String
Property Email2 As String
Property Fax1 As String
Property Fax2 As String
Property Primary As Boolean
Public Sub New()
End Sub
Public Sub New(ByVal contactID As String, ByVal primarynumbers As Boolean)
ConId = contactID
ConRowID = contactID & "-" & Now.ToString
If primarynumbers = True Then
Title = "Primary Details"
Else
Title = "Additional Contact Numbers"
End If
Mob1 = ""
Mob2 = ""
Land1 = ""
Land2 = ""
Email1 = ""
Email2 = ""
Fax1 = ""
Fax2 = ""
Primary = primarynumbers
End Sub
End Class
Public Class Contact
Public prime As ContactPrime
Public addrs As Dictionary(Of String, ContactAddress)
Public Numbers As Dictionary(Of String, ContactCon)
Public Sub New()
Numbers = New Dictionary(Of String, ContactCon)
'assigning initial ids and values
Dim t As New ContactCon(prime.Conid, vbYes)
Numbers.Add(t.ConRowID, t) 'Primary Contact Number
End Sub
簡単に言うと、コンボボックスのGUIはアイテムを表示していませんが、アイテム数が正しいです、あなたが間違っている場所を教えてください。ありがとうございました。
Visual Studioでデバッグモードでプログラムを起動すると、出力ペインにデータバインディングエラーが表示されますか? (これらのエラーを見るにはVS2010が必要です。) –
@fmunkert、出力ウィンドウにもエラーはありません。試してみましたが、何も表示されていません。 – surpavan
実行時に辞書に項目を追加していますか?つまり、辞書値をコンボボックスのItemSourceとして設定した後ですか? –