你好我有这个xaml
<dxui:PageAdornerControl Header="Details" DataContext="{Binding SelectedItem}">
<dxui:PageAdornerControl.HeaderTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Grid.Column="1" >
<dxui:NavigationButton FontSize="14" Margin="10, 0, 0, 0" Content="Customers" NavigateTo="CustomersPage"/>
<dxui:NavigationButton FontSize="14" Margin="10, 0, 0, 0" Content="Categorys" NavigateTo="CategorysPage"/>
<dxui:NavigationButton FontSize="14" Margin="10, 0, 0, 0" Content="Products" NavigateTo="GroupedItemsPage" NavigationParameter="{Binding Title}"/>
</StackPanel>
</Grid>
</DataTemplate>
</dxui:PageAdornerControl.HeaderTemplate>
<dxlc:LayoutControl Padding="40, 10, 40, 10" ItemSpace="20">
<dxlc:LayoutGroup Orientation="Vertical" ItemSpace="10" VerticalAlignment="Top" HorizontalAlignment="Left">
<TextBlock Text="{Binding Title}" FontSize="20" IsHyphenationEnabled="True"/>
<TextBlock Text="{Binding Subtitle}" FontSize="16"/>
<Image Source="{Binding Image}"/>
</dxlc:LayoutGroup>
<dxlc:LayoutGroup Orientation="Vertical">
<TextBlock Text="{Binding Description}" TextWrapping="Wrap" FontSize="16" Margin="0,70,0,0" Height="20"/>
<TextBlock Text="{Binding Content}" TextWrapping="Wrap" FontSize="16" Margin="0,0,0,0"/>
</dxlc:LayoutGroup>
</dxlc:LayoutControl>
</dxui:PageAdornerControl>
Bindings可以与TextBloks和Images一起使用,但是当我尝试将Title绑定到NavigationParameter时,它不起作用并发送null参数。
答案 0 :(得分:0)
问题的原因是您已设置PageAdornerControl.Header属性。此值将转发到PageAdornerControl.HeaderTemplate,并转发到NavigationButtons DataContext。这就是你的绑定不起作用的原因。
您可以清除Header属性(它实际上未在HeaderTemplate中使用)或将其绑定到SelectedItem属性。作为替代方案,您可以使用RelativeSource绑定:
NavigationParameter="{Binding Path=DataContext.SelectedItem.Title, RelativeSource={RelativeSource AncestorType={x:Type dxui:PageAdornerControl}}}