【发布时间】:2017-10-26 13:49:28
【问题描述】:
我有主 DataTemplate ListBox 有 SelectedItem = SelectedSession 我还有一个嵌套的 ListBox,它有 SelectedItem = AssignedExercises 如果我将属性绑定到两个选定的项目,我无法获得嵌套 ListBoxe 的项目 AssignedExercises。
您知道如何访问嵌套的 ListBoxes SelectedItem (AssignedExercises) 并将其绑定到属性吗?
XAML 代码:
<ListBox Grid.Row="1" ItemsSource="{Binding SessionList}" SelectedItem="{Binding SelectedSession}" Margin="0,0,0,20">
<ListBox.ItemTemplate>
<DataTemplate>
<Border CornerRadius="2" BorderBrush="Black" BorderThickness="2" Width="1000" Height="200" Margin="1">
<Grid>
<Label Content="List of exercises" RenderTransformOrigin="0.5,0.5" Height="30" VerticalAlignment="Top" FontWeight="Bold"></Label>
<ListBox Height="150" Width="325" ItemsSource="{Binding AssignedExercises}" SelectedItem="{Binding AssignedExercises}">
<ListBox.ItemTemplate>
<DataTemplate>
<Border Height="50" Width="300" BorderBrush="LightGray" BorderThickness="2" CornerRadius="2" Margin="0,1,0,1">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Margin="5,0,5,0" VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
<Label Content="{Binding Name}" FontSize="14" FontWeight="Bold"/>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</Border>
</DataTemplate>
</ListBox.ItemTemplate>
属性:
private TrainingSessionVM selectedSession;
private ExerciseVM selectedExercise;
public TrainingSessionVM SelectedSession
{
get { return selectedSession; }
set
{
selectedSession = value;
RaisePropertyChanged();
}
}
public ExerciseVM SelectedExercise
{
get { return selectedExercise; }
set
{
selectedExercise = value;
RaisePropertyChanged();
}
}
【问题讨论】:
标签: c# wpf mvvm data-binding