Я изучаю привязку данных в настоящий момент и сталкиваюсь с некоторыми проблемами с родительскими и дочерними datacontexts.Переопределить родительский datacontext
<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"
DataContext="{Binding Group}"
d:DataContext="{Binding Groups[0], Source={d:DesignData Source=/DataModel/SampleData.json, Type=data:SampleDataSource}}">
<Grid.ChildrenTransitions>
<TransitionCollection>
<EntranceThemeTransition/>
</TransitionCollection>
</Grid.ChildrenTransitions>
<Grid.RowDefinitions>
<RowDefinition Height="140"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel x:Name="SideData" Width="480" Margin="12,12,24,12" Grid.Row="1" HorizontalAlignment="Left" DataContext="{Binding SideItem}">
<TextBlock x:Name="SideText" Text="{Binding Title}" Margin="12,12,12,12" Style="{StaticResource SubheaderTextBlockStyle}" MaxHeight="60"/>
<Image x:Name="SideImage" Source="{Binding ImagePath}" Height="400" Width="400" Margin="0,0,0,20" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
<TextBlock x:Name="SideDescription" Text="{Binding Subtitle}" Margin="0,0,0,0" Style="{StaticResource BodyTextBlockStyle}"/>
</StackPanel>
Я хочу оставить DataContext для Энергосистемы в «группе», но я хочу, чтобы все элементы управления внутри StackPanel быть привязанными к «SideItem».
Уверен, что я сделал это неправильно, так как он не работает должным образом. Когда я привязываю datacontext Grid к «SideItem», он работает, но это меняет все, поэтому это довольно бессмысленно. Помогите?
Кроме того, здесь бэкенд (я использую шаблон в Visual Studio 2013):
private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
{
// TODO: Create an appropriate data model for your problem domain to replace the sample data
var group = await SampleDataSource.GetGroupAsync((String)e.NavigationParameter);
this.DefaultViewModel["Group"] = group;
this.DefaultViewModel["Items"] = group.Items;
this.DefaultViewModel["SideItem"] = group.Items.First();
}
Если вы хотите управления, которые внутри StackPanel были связаны с SideItem возможно вас установит DataContext из stackpanel в SideItem? – Tony
пробовал, что первый ... не работает .. вот что меня сбивает с толку – ForeverLearning