Я пытаюсь выяснить, как отображать только определенный контент на новой странице, и мне интересно, как получить эти данные. Например, у меня есть кнопки, которые генерируются из проанализированных данных из листа xml, и когда я нажимаю кнопку, я хочу, чтобы кнопка нажимала на новую страницу xaml, которую я создал, и данные, связанные с этой кнопкой, отображаемой на новой странице xaml ,wp7 Отображение и связывание правильного элемента
Сначала я свяжу часть кода, который я использую, чтобы сохранить свои данные с моей xml-страницы.
`public int countElements = 0;
public MainViewModel()
{
this.Items = new ObservableCollection<ItemViewModel>();
}
public ObservableCollection<ItemViewModel> Items { get; private set; }
public void LoadData()
{
var elements = from p in unmXdoc.Descendants(dataNamspace + "vevent").Elements(dataNamspace + "properties")
select new ItemViewModel
{
summary = this.GetElementValue(p, "summary"),
description = this.GetElementValue(p, "description"),
categories = this.GetElementValue(p, "dtstamp"),
};
foreach (var element in elements)
{
this.Items.Add(new ItemViewModel()
{
LineOne = element.summary,
LineTwo = element.categories,
LineThree = element.description
});
countElements++;
}
this.IsDataLoaded = true;`
Так LineOne это имя моей кнопки и при нажатии на кнопку Я хочу LineTwo и LineThree быть загружены на моей странице XAML, что я назвал LineThreePage.xaml. Я свяжу код xaml, где теперь создаются кнопки.
<Grid x:Name="LayoutRoot" Background="Transparent" >
<!--Pivot Control-->
<controls:Pivot Title="" Margin="0,64,0,-63">
<!--Pivot item one-->
<controls:PivotItem>
<!-- Header="Events"-->
<controls:PivotItem.Header>
<TextBlock Text="Events" FontSize="48" ></TextBlock>
</controls:PivotItem.Header>
<!--Double line list with text wrapping-->
<ListBox x:Name="FirstListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Margin="0,0,0,17" Width="432" Height="78">
<Button Margin="8,0,10,0"
Padding="0,0"
HorizontalContentAlignment="Left"
BorderThickness="0.8"
BorderBrush="Gray"
Background="White"
Width="420"
Click="Button_Click">
<TextBlock Text="{Binding LineOne}"
TextWrapping="Wrap"
Foreground="#8f1020"
Style="{StaticResource PhoneTextNormalStyle}"/>
</Button>
TextWrapping="Wrap" Margin="12,-10,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</controls:PivotItem>'
Так в основном, когда я нажимаю button1 Я хочу, чтобы перейти к моей lineThreePage.xaml и увидеть LineTwo и LineThree, связанный с LineOne на этой странице.
Наконец, у меня есть код для кнопки ниже!
private void Button_Click(object sender, RoutedEventArgs e)
{
this.NavigationService.Navigate(new Uri("/lineThreePage.xaml", UriKind.Relative));
}
Благодарим вас за отличный ответ! Помогли много, именно то, что мне было нужно !!! – visualbasicNoob9000