我一直在使用有关书籍的程序,它的工作方式就像放一些关于书籍的信息,并在完成后将其添加到列表中。 但是当我在组合框(示例03)中选择一个内容时,它将作为“ System.Windows.Controls.ComboBoxItem:03”绑定到我的文本框中。 我只是不知道如何使它3并删除system.windows.etc 这是我的代码顺便说一句
<TextBox Grid.Row="5" Grid.Column="3" Name="monthp" Margin="1" Text="{Binding book_datepublishedmonth,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" />
<ComboBox Grid.Row="4" Grid.Column="3" Name="monthcombo" Margin="1" SelectedItem="{Binding Text , ElementName=monthp }" >
<ComboBoxItem Content="01" />
<ComboBoxItem Content="02" />
<ComboBoxItem Content="03" />
</ComboBox>
当我运行代码时,我真的不知道为什么它在文本框中有System.Windows.Controls.ComboBoxItem。我缺少什么吗?
在此先感谢您指出:)
答案 0 :(得分:2)
说明:
您正在将字符串(monthp TextBox.Text 绑定)与 ComboBoxItem 进行比较/绑定。
您要比较/绑定 ComboBoxItem.Content 和monthp TextBox.Text
您必须在ComboBox上进行两项更改:
添加 SelectedValuePath =“ Content”
然后更改:
SelectedItem =“ {绑定文本,ElementName = monthp}”
收件人:
SelectedValue =“ {绑定文本,ElementName = monthp}”
您的代码将是:
<TextBox Grid.Row="5" Grid.Column="3" Name="monthp" Margin="1" Text="{Binding book_datepublishedmonth, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
<ComboBox Grid.Row="4" Grid.Column="3" Name="monthcombo" Margin="1" SelectedValuePath="Content" SelectedValue="{Binding Text, ElementName=monthp}" >
<ComboBoxItem Content="01" />
<ComboBoxItem Content="02" />
<ComboBoxItem Content="03" />
</ComboBox>