[英]Bind combobox elements to data source
我有一個組合框,其中包含一個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>
因此,總結所有評論:
您需要將列表綁定到comboBox
ItemsSource
。
<ComboBox x:Name="Test" ItemsSrouce="{Binding ResultList}" ....>
並將ItemTemplate
TextBlock
設置為類似以下內容:
<TextBlock Text="{Binding Path=Age}" ..../>
<TextBlock Text="{Binding Path=Name}" ..../>
您不能將DataContext
和 Text
屬性設置為相同的值:
"{Binding Path=ResultList, Mode=OneWay}"
您可以嘗試以下方法:
<TextBlock Text="{Binding, Mode=OneWay}" DataContext="{Binding Path=ResultList}" />
但這可能更好:
<TextBlock Text="{Binding Path=ResultList, Mode=OneWay}" />
當然,如果您沒有提供所有必要的信息(例如評論中的要求),則很難回答。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.