2014-07-17 135 views
0

你好,我有这样的XAMLWPF导航参数绑定

<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> 

的绑定正常工作与TextBloks和图像,但是当我尝试绑定的标题NavigationParameter它不工作,并发送空参数。

回答

0

问题的原因是你已经设置的PageAdornerControl.Header属性。这个值被转发到PageAdornerControl.HeaderTemplate,并进一步转发到NavigationButtons DataContext。这就是为什么你的绑定不起作用。

您可以清除Header属性(它在HeaderTemplate中并未实际使用)或将其绑定到SelectedItem属性。作为替代,您可以使用RelativeSource绑定:

NavigationParameter="{Binding Path=DataContext.SelectedItem.Title, RelativeSource={RelativeSource AncestorType={x:Type dxui:PageAdornerControl}}}