-1

我正在使用 devexpress,我想与 Listbox 进行绑定,但我有一个错误。这是我的代码:

<ListBox x:Name="_list" >                            
    <ListBox.ItemTemplate>
        <DataTemplate>
            <dxd:LayoutPanel 
                Caption="{Binding nameList}"
                AllowHide ="False" AllowFloat="False"                                            
                GotFocus="panel_GotFocus" >

                <TextBox Text="Hello" />

             </dxd:LayoutPanel>                                   

         </DataTemplate>
     </ListBox.ItemTemplate>                            
 </ListBox>    

使用此代码,Caption {Binding nameList} 为空。

我试过这个。

<ListBox x:Name="_list" >                            
        <ListBox.ItemTemplate>
            <DataTemplate>
                <Grid>
                     <TextBox Text="{Binding nameList}" />
                 </Grid>                                                                      
             </DataTemplate>
         </ListBox.ItemTemplate>                            
     </ListBox> 

在这种情况下,TextBox 中的文本是正确的,我需要使用第一个代码。

4

1 回答 1

0

您似乎对如何使用它有点困惑ListBox。首先,您需要一个集合属性来绑定到该ListBox.ItemsSource属性。假设您有一个User名为的对象集合Users

<ListBox ItemSource="{Binding Users}" />

现在我们要定义每个User应该如何显示......User类的所有属性都将BindingDataTemplate. 假设User该类有两个属性;NameAge

<DataTemplate DataType="{x:Type YourDataTypeNamespace:User}">
    <StackPanel>
        <TextBox Text="{Binding Name}" />
        <TextBox Text="{Binding Age}" />
    </StackPanel>
</DataTemplate>

然后把它们放在一起:

<ListBox ItemSource="{Binding Users}">
    <ListBox.ItemTemplate>
        <DataTemplate DataType="{x:Type YourDataTypeNamespace:User}">
            <StackPanel>
                <TextBox Text="{Binding Name}" />
                <TextBox Text="{Binding Age}" />
            </StackPanel>
        </DataTemplate>
     </ListBox.ItemTemplate>                            
 </ListBox> 
于 2013-08-27T16:13:15.987 回答