2014-08-04 4 views
0

Я закрепляющий на это с некоторого времени: Я занимаюсь разработкой Windows Phone приложения: У меня есть XAML страница в качестве шаблона и три UserControls:XAML выполнение UserControl Binding

Один из которых имеет полевое расположение , один общийInfo-макет, сводка + раскладка Pic.

Я хочу создать 3 кнопки вверху и сменить активный UserControl соответственно.

Я не хочу, чтобы вы использовали PivotPage.

HELP? Совет? Код?

ответ

0

Одним из очень примитивных подходов было бы подписаться на событие Click всех трех кнопок и в основном просто изменить свойство видимости вашего UserControls в обработчиках событий соответствующим образом.

Конечно, есть другие подходы, которые вы можете рассмотреть - например, с использованием шаблона MVVM или с помощью TabControl и TabItem из sdk, если они доступны для WP7 или с помощью триггеров событий, но это может быть хорошей отправной точкой.

Ваш MainPage должен выглядеть примерно так:

<UserControl x:Class="SilverlightApplication10.MainPage" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:silverlightApplication10="clr-namespace:SilverlightApplication10" 
      mc:Ignorable="d" 
      d:DesignHeight="300" 
      d:DesignWidth="400"> 

    <Grid> 
     <Grid.RowDefinitions> 
      <RowDefinition Height="30" /> 
      <RowDefinition /> 
     </Grid.RowDefinitions> 

     <StackPanel x:Name="LayoutRoot" 
        Orientation="Horizontal" 
        Background="White"> 

      <Button Height="30" 
        Content="content1" 
        Click="Button_Click" /> 

      <Button Height="30" 
        Content="content2" 
        Click="Button_Click_1" /> 

      <Button Height="30" 
        Content="content3" 
        Click="Button_Click_2" /> 

     </StackPanel> 

     <Grid Grid.Row="1"> 
      <silverlightApplication10:SilverlightControl1 x:Name="ctrl1" 
                  Visibility="Collapsed" /> 

      <silverlightApplication10:SilverlightControl2 x:Name="ctrl2" 
                  Visibility="Collapsed" /> 

      <silverlightApplication10:SilverlightControl3 x:Name="ctrl3" 
                  Visibility="Collapsed" /> 
     </Grid> 

    </Grid> 
</UserControl> 

И тогда ваши обработчики событий должны заботиться о настройке видимости свойство всех этих UserControls:

private void Button_Click(object sender, RoutedEventArgs e) 
{ 
    ctrl1.Visibility = Visibility.Visible; 
    ctrl2.Visibility = Visibility.Collapsed; 
    ctrl3.Visibility = Visibility.Collapsed; 
} 

private void Button_Click_1(object sender, RoutedEventArgs e) 
{ 
    ctrl2.Visibility = Visibility.Visible; 
    ctrl1.Visibility = Visibility.Collapsed; 
    ctrl3.Visibility = Visibility.Collapsed; 
} 

private void Button_Click_2(object sender, RoutedEventArgs e) 
{ 
    ctrl3.Visibility = Visibility.Visible; 
    ctrl1.Visibility = Visibility.Collapsed; 
    ctrl2.Visibility = Visibility.Collapsed; 
} 
+0

Любые обновления rishiraj2017? –