Wpf 将列表框绑定到ObservableCollection

Wpf 将列表框绑定到ObservableCollection,wpf,class,binding,observablecollection,Wpf,Class,Binding,Observablecollection,我找不到解决这个问题的答案。 我有一个明显的收集 这是我的班级: public class myClass { public string name; public int[] dimensions = new int[2]; } 这是设置ObservableCollection的代码: public class roomBuilder { private ObservableCollection<myClass> rooms;

我找不到解决这个问题的答案。 我有一个明显的收集

这是我的班级:

public class myClass
    {
      public string name;
      public int[] dimensions = new int[2];
    }
这是设置ObservableCollection的代码:

public class roomBuilder
{
  private ObservableCollection<myClass> rooms;

      public roomBuilder() //constructor
      {
        string roomName;
        int[] dimensions = new int[2];
        myClass newRoom = new myClass();
        rooms = new ObservableCollection<room>();
        roomName = "Hall";
        dimensions[0] = 10;
        dimensions[1] = 12;
        newRoom.name = roomName;
        newRoom.dimensions = dimensions;
        rooms.Add(newRoom);
        roomListBox.DataContext = rooms;
      }
这方面的XAML是:

    <ListBox Canvas.Left="-1" Canvas.Top="47" Height="419" Name="roomListBox" Width="481"  BorderThickness="1" BorderBrush="GhostWhite" ItemsSource="{Binding}" DataContext="{Binding}"> 

        <ListBox.ItemTemplate  >
            <DataTemplate   >
                <StackPanel Orientation="Vertical" Margin="1" Name="verstack"   > 
                    <StackPanel Orientation="Horizontal" Margin="1" KeyDown="StackPanel_KeyDown" >
                        <TextBox Text="{Binding  Path=name}" IsReadOnly="False" FontFamily="Courier New" FontSize="22" Height="65" VerticalAlignment="Top" TextAlignment="Center"/>
                        <TextBox Name="xDimension" Text="{Binding Mode=TwoWay, Path=dimensions[0] }"  Width="70" Height="65" VerticalAlignment="Top" IsReadOnly="False" FontFamily="Courier New" Margin="2,0,1,0" FontSize="22" MaxLength="3" InputScope="TelephoneNumber" TextAlignment="Center"  />
                    <TextBlock Name="separator" Text=":" FontSize="32"  FontWeight="ExtraBold" Margin="1,4,1,0"  />
                        <TextBox Name="yDimension" Text="{Binding Mode=TwoWay, Path=dimensions[1] }" Width="70" Height="65" VerticalAlignment="Top"   IsReadOnly="False" FontFamily="Courier New" Margin="1,0,2,0" FontSize="22" MaxLength="3" InputScope="TelephoneNumber" TextAlignment="Center"/>

我还没有关闭这里的Xaml,它下面还有一个负载,当我运行时,没有显示任何内容,我只是不知道问题出在哪里,我已经花了2天的时间来解决它,请有人帮忙。

房间需要成为您绑定的公共财产

public ObservableCollection<myClass> rooms
{ 
   get { return ........

读…你能编译这段代码吗?可观察的收集室!=房间=新的可观测集合;是打字错误吗?尽管如此,请检查输出窗口中的数据错误,并注意正确的数据上下文。不,这很好,这只是我做事的一种奇怪方式。下面的答案是正确的,这是我不习惯的事情,所以它帮我解决了问题。