簡體   English   中英

將組合框元素綁定到數據源

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM