가능 다른 목록 상자 안에 목록 상자를 만들 수 있습니까? 두리스트 박스 모두 동일한 데이터를 바인딩한다. 두번째리스트 박스는 뭔가 추가되었다. 두 번째 목록 상자 (내부)에서 데이터를 표시하지 않거나 바인딩이 작동하지 않는다는 것을 알지 못합니다. 첫 번째 목록 상자의 데이터는 바인딩 OK입니다. 내 샘플 :목록 상자 안에 바인딩 데이터가있는 목록 상자
<Grid Grid.Row="2">
<ListBox x:Name="lbTransitNow" FontSize="13" ItemsSource="{Binding MyDataForTransit}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate >
<StackPanel>
<Grid x:Name="gridTodayBtn">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="tbTransitStart" Foreground="Black" Grid.Column="0"
Text="{Binding Lines_departure_time}" HorizontalAlignment="Left"/>
<TextBlock x:Name="tbTransitEnd" Foreground="Black" Text="{Binding Lines_arrival_time}"
Grid.Column="1"/>
<TextBlock x:Name="tbTransitTravelTime" Foreground="Black" Text="{Binding Lines_travelTime}"
Grid.Column="2"/>
<TextBlock x:Name="tbPrice" Foreground="Black" Text="{Binding Lines_price}"
Grid.Column="3"/>
<TextBlock x:Name="tbTransitKm" Foreground="Black" Text="{Binding Lines_km}"
Grid.Column="4"/>
<TextBlock x:Name="tbTransitNumber" Foreground="Black" Text="{Binding Lines_name}"
Grid.Column="5"/>
<Image x:Name="imgMoreInfo" Source="layoutGraphics/b5.png" Grid.Column="6" Width="40" Height="40" Tapped="imgMoreInfo_Tapped" Tag="{Binding}"></Image>
<ListBox x:Name="lbTransitNowSub" FontSize="13" ItemsSource="{Binding MyDataForTransit}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate >
<Grid x:Name="gridTodayBtn">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<TextBlock x:Name="tbTransitStart" Foreground="Black" Grid.Column="0"
Text="{Binding Lines_departure_time}" HorizontalAlignment="Left"/>
<TextBlock x:Name="tbTransitEnd" Foreground="Black" Text="{Binding Lines_arrival_time}"
Grid.Column="1"/>
<TextBlock x:Name="tbTransitTravelTime" Foreground="Black" Text="{Binding Lines_travelTime}"
Grid.Column="2"/>
<TextBlock x:Name="tbPrice" Foreground="Black" Text="{Binding Lines_price}"
Grid.Column="3"/>
<TextBlock x:Name="tbTransitKm" Foreground="Black" Text="{Binding Lines_km}"
Grid.Column="4"/>
<TextBlock x:Name="tbTransitNumber" Foreground="Black" Text="{Binding Lines_name}"
Grid.Column="5"/>
<Image x:Name="imgMoreInfo" Source="layoutGraphics/b5.png" Grid.Column="6" Width="40" Height="40" Tapped="imgMoreInfo_Tapped" Tag="{Binding}"></Image>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
public ObservableCollection<BindingData> _myDataForTransit = new ObservableCollection<BindingData>();
public ObservableCollection<BindingData> MyDataForTransit
{
get { return _myDataForTransit; }
set { _myDataForTransit = value; }
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(null, new PropertyChangedEventArgs(propertyName));
}
}
_myDataForTransit.Add(new BindingData
{
myData...
});
}
OnPropertyChanged("MyDataForTransit");