我有一个组合框,它托管一个textblock子元素。我想将组合框内的文本块绑定到名为ResultList的属性。我尝试了下面的代码,但它不起作用。我错过了什么?
<ComboBox x:Name="Test" HorizontalAlignment="Left" Margin="79,42,0,0" VerticalAlignment="Top" Width="344"
IsEditable="True">
<ComboBox.Resources>
<system:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">0</system:Double>
</ComboBox.Resources>
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}" >
<Setter Property="Background" Value="#FFFFFF"/>
<Setter Property="BorderThickness" Value="0" />
</Style>
</ComboBox.ItemContainerStyle>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=ResultList, Mode=OneWay}" DataContext="{Binding Path=ResultList, Mode=OneWay}" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
答案 0 :(得分:1)
所以,总结所有评论:
您需要将列表绑定到ItemsSource
的{{1}}。
comboBox
并将<ComboBox x:Name="Test" ItemsSrouce="{Binding ResultList}" ....>
中的TextBlock
设置为:
ItemTemplate
答案 1 :(得分:0)
您无法将DataContext
和 Text
属性设置为相同的值:
"{Binding Path=ResultList, Mode=OneWay}"
你可以试试这个:
<TextBlock Text="{Binding, Mode=OneWay}" DataContext="{Binding Path=ResultList}" />
但这可能会更好:
<TextBlock Text="{Binding Path=ResultList, Mode=OneWay}" />
当然,如果您没有提供所有必要的信息,例如评论中提到的信息,就很难回答。