私のクラスでは、このようになりますItemsourceの変更に更新されない追加したときにコンボボックスは
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" >
<TextBlock Text="Categories" Margin="0,0,10,0" Width="100" VerticalAlignment="Center" />
<ComboBox Height="30" Name="CourseCategoryComboBox1" Width="120">
<ComboBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding CategoryName}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Button Name="AddNewCourseCategoryButton" Background="Transparent" Content="Add New" Foreground="#FF0994EB"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Name="NewCategorySubmitStackPanel">
<TextBlock Text="Name" Margin="0,0,10,0" Width="100" VerticalAlignment="Center" />
<TextBox Height="30" Name="NewCourseCategoryTextBox1" Width="120" MaxLength="25"/>
<Button Name="SubmitNewCourseCategoryButton" Background="Transparent" Content="+" Margin="10,0,0,0" Foreground="#FF0994EB" FontWeight="Heavy" BorderBrush="Transparent" />
</StackPanel>
<StackPanel Orientation="Horizontal" Name="CourseListStackPanel" >
<TextBlock Text="Course" Margin="0,0,10,0" Width="100" VerticalAlignment="Center" />
<ComboBox Height="30" Name="CourseslistComboBox1" Width="120">
<ComboBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding CourseName}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<Button Name="NewCourseButton" Background="Transparent" Content="Add New" Foreground="#FF0994EB"/>
</StackPanel>
<StackPanel Orientation="Horizontal" Name="NewCourseeSubmitStackPanel">
<TextBlock Text="Name" Margin="0,0,10,0" Width="100" VerticalAlignment="Center" />
<TextBox Height="24" Name="NewCourseeTextBox1" Width="120" MaxLength="25"/>
<Button Name="SubmitNewCourseButton" Background="Transparent" Content="+" Margin="10,0,0,0" Foreground="#FF0994EB" FontWeight="Heavy" BorderBrush="Transparent" />
</StackPanel>
問題がありますコレクションの新しいコース、comboxは更新されませんが、私はアプリケーションを再起動すると、それが追加されます、私は挿入ステートメントを完了するときに挿入されていません。以下は、私が使用しているコードです。コントロールの挿入および更新:
If Not NewCourseeTextBox1.Text = "" Then
If Globals.Courses.CoursesOfferedMAIN(CType(CourseCategoryComboBox1.SelectedItem, WorkMateLib.CoursesLib.Category).CategoryName).Contains(NewCourseeTextBox1.Text) = False Then
Dim c As New WorkMateLib.CoursesLib.Course
c.Category = CType(CourseCategoryComboBox1.SelectedItem, WorkMateLib.CoursesLib.Category).CategoryName
c.CourseID = DateTime.UtcNow.ToString()
c.CourseName = NewCourseeTextBox1.Text
c.Deleted = False
Dim serv As New ServiceCourses.WCFCoursesClient
Dim ex As String
ex = serv.AddCourse(c)
If ex = "1" Then
NewCourseeTextBox1.Text = ""
NewCourseeSubmitStackPanel.Visibility = Windows.Visibility.Collapsed
Globals.Courses.CoursesOfferedMAIN(c.Category).Courses.Add(c.CourseID, c)
CourseslistComboBox1.ItemsSource = Globals.Courses.CoursesOfferedMAIN(c.Category).Courses.Values
Else
MessageBox.Show(ex)
End If
End If
End If
ありがとうございました。
コードブロックでコードをフォーマットし、適切な構文カラーリングを得るために言語タグを指定してください! –
'ItemsSource'はどこにバインド/設定しますか? – Zebi
@ Zebi私はバインドを使用していませんでした。私は直接ソースを割り当てます。 – surpavan