Principales respuestas
Favor!!!! Ayuda con Navegacion entre Pages en silverlight!

Pregunta
-
Hola, posteo nuevamente mi pregunta ya que aun estoy trabado en mi problema.
Tengo una pagina de login que valida los usuarios, y que luego de validarlos la aplicacion debe abrir otra page donde se carga el entorno de trabajo del usuario que accedió a la aplicacion.
Mi problema es como llamo a la segunda pagina una vez que el usuario se validó.
He intentado de muchas maneas pero ninguna a funcionado, incluso reinvocando en tiempo de ejecucion el RootVisual pero nada.
En el fondo lo que necesito es, y si pensamos en el entorno por default que crea silverlight al crear un nuevo proyecto, es a este mismo entorno por default agregar una validacion de usuario antes, y luego cargar la pagina este entorno...
Les adjunto los codigos de ambas paginas. Ya estoy a punto de ponerme a cantar "deseperado" de Marta Sanchez..jaja, favor sus ayudas!!!
Tambien me sirve alguna otra idea de cómo hacerlo, puede que este cometiendo algun error de jerarquias o forma de enlazar los controles..
Gracias!!
Login
"<UserControl x:Class="Ajj.Seven.Aplicacion.login"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:y="http://schemas.microsoft.com/netfx/2007/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
Width="800" Height="600" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d">
<navigation:Frame x:Name="MainContent">
<Grid x:Name="LayoutRoot" Background="White">
<Grid Height="Auto" HorizontalAlignment="Stretch" x:Name="ResultForm" VerticalAlignment="Stretch" Width="Auto" Visibility="Collapsed">
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Top" Text="Login succeeded. You can continue with the application" TextWrapping="Wrap"/>
</Grid>
<Grid Margin="8,186.768997192383,8,228" VerticalAlignment="Stretch" x:Name="TestForm">
<TextBlock HorizontalAlignment="Stretch" Margin="0,32.2309989929199,8,8" VerticalAlignment="Stretch" Text="" TextWrapping="Wrap" FontSize="12" x:Name="TextBlockResult"/>
</Grid>
<Grid Height="100" Margin="20,20,0,0" x:Name="LoginForm" VerticalAlignment="Top" Width="250">
<TextBlock HorizontalAlignment="Left" Margin="0,0,0,0" VerticalAlignment="Top" Text="Usuario:" TextWrapping="Wrap"/>
<TextBox HorizontalAlignment="Stretch" Margin="90,0,0,0" x:Name="txt_Username" VerticalAlignment="Top" Text="" TextWrapping="Wrap"/>
<TextBlock HorizontalAlignment="Left" VerticalAlignment="Stretch" Text="Clave:" TextWrapping="Wrap" Margin="0,30,0,38.4630012512207" d:LayoutOverrides="Height"/>
<TextBox HorizontalAlignment="Stretch" Margin="90,30,0,40.2280006408691" x:Name="txt_Password" VerticalAlignment="Top" Text="" TextWrapping="Wrap" d:LayoutOverrides="Height"/>
<Button Height="23" HorizontalAlignment="Right" Margin="0,0,0,0" x:Name="btn_Entrar" VerticalAlignment="Bottom" Width="78" Content="Entrar" Click="btnEntrar_Click" />
</Grid>
</Grid>
</navigation:Frame>
</UserControl>
"
MainPage
" <navigation:Page
xmlns:toolkit="http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"
x:Class="Ajj.Seven.Aplicacion.Views.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:l="clr-namespace:SilverlightMenu.Library;assembly=SilverlightMenu.Library"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
mc:Ignorable="d"
xmlns:navigation="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation"
xmlns:uriMapper="clr-namespace:System.Windows.Navigation;assembly=System.Windows.Controls.Navigation"
xmlns:gs="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Extended"
xmlns:system="clr-namespace:System;assembly=mscorlib"
d:DesignWidth="640" d:DesignHeight="480"
Title="MenuTest Page">
<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}">
<Grid.Background>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
<GradientStop Offset="0.0" Color="#FF000000"/>
<GradientStop Offset="1.0" Color="#FF80FF80"/>
</LinearGradientBrush>
</Grid.Background>
<toolkit:DockPanel>
<Grid x:Name="NavigationGrid" toolkit:DockPanel.Dock="Top" Style="{StaticResource NavigationGridStyle}">
<Border x:Name="BrandingBorder" Style="{StaticResource BrandingBorderStyle}">
<StackPanel x:Name="BrandingStackPanel" Style="{StaticResource BrandingStackPanelStyle}">
<ContentControl Style="{StaticResource LogoIcon}"/>
<TextBlock x:Name="ApplicationNameTextBlock" Style="{StaticResource ApplicationNameStyle}"
Text="SEVEN - Sistema de Ventas"/>
</StackPanel>
</Border>
<Border x:Name="LinksBorder" Style="{StaticResource LinksBorderStyle}">
<StackPanel x:Name="LinksStackPanel" Style="{StaticResource LinksStackPanelStyle}">
<HyperlinkButton x:Name="Link1" Style="{StaticResource LinkStyle}"
NavigateUri="/Home" TargetName="ContentFrame" Content="Inicio"/>
<Rectangle x:Name="Divider1" Style="{StaticResource DividerStyle}"/>
<HyperlinkButton x:Name="Link2" Style="{StaticResource LinkStyle}"
NavigateUri="/About" TargetName="ContentFrame" Content="Acerca de"/>
</StackPanel>
</Border>
</Grid>
<toolkit:DockPanel>
<Grid toolkit:DockPanel.Dock="Top" >
<l:Menu ImagesPath="{Binding ImagesPath}" toolkit:DockPanel.Dock="Top"
MenuItem="{Binding MVVMMenuItem}"
Command="{Binding Path=MenuCommand}"/>
<Grid x:Name="GridLayoutNavigation" Background="Transparent" Margin="0,22,0,0" >
<toolkit:DockPanel Grid.Row="0" LastChildFill="True">
<toolkit:Expander HorizontalAlignment="Left" Name="expander1" VerticalAlignment="Stretch" ExpandDirection="Left" BorderThickness="0">
<Grid Height="Auto" HorizontalAlignment="Stretch" Name="grid1" VerticalAlignment="Stretch" Width="Auto">
<toolkit:Accordion x:Name="acc">
<toolkit:AccordionItem Content="item 1" Header="A"/>
<toolkit:AccordionItem Content="item 2" Header="B - long header"/>
<system:String>regular string item 3</system:String>
</toolkit:Accordion>
</Grid>
</toolkit:Expander>
<navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
Source="/Home" Navigated="ContentFrame_Navigated" NavigationFailed="ContentFrame_NavigationFailed" >
<navigation:Frame.UriMapper>
<uriMapper:UriMapper>
<uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
<uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>
</uriMapper:UriMapper>
</navigation:Frame.UriMapper>
</navigation:Frame>
</toolkit:DockPanel>
</Grid>
</Grid>
</toolkit:DockPanel>
</toolkit:DockPanel>
</Grid>
</navigation:Page>
"
Roberto Soto Ingeniero de Sistemas
Respuestas
-
Hola, para redireccionar de un user control a otro solo tienes a hacer lo siguiente:
... this.Content = new otroUserControl();
la validacion de usuario ya es cosa tuya, saludos
Todas las respuestas
-
Hola Roberto.
Mira, puedes tener el registro de usuario en un childWindow y al regresarte la validación exitosa.. cambias la pagina de inicio.. en la siguiente liga tengo un pequeño ejemplo, espero te sirva.
http://ciscoperez.wordpress.com/2011/10/06/cambiar-mainpage-al-cerrar-childwindow/
Saludos. =)
Atentamente
Cisco Pérez =)
-
-
Hola, para redireccionar de un user control a otro solo tienes a hacer lo siguiente:
... this.Content = new otroUserControl();
la validacion de usuario ya es cosa tuya, saludos -