que quiero cambiar entre mis dos controles de usuario AddUsers.xaml (control de usuario) y Viewusers.xaml (Control de usuario) mediante programación en Window1.xaml (ventana principal).adición de control de usuario/Página de ventanas XAML en WPF programáticamente
iam tratando de cambiar los controles de usuario mediante el botón Evento en Window1.xaml. No encontré nada en la red, así que cualquier cuerpo puede ayudarme.
mi Window1. xaml dice así
<Window x:Class="SwitchUsers.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="500" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="400*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" >
<Button Content="Swithc User Control " Height="23" HorizontalAlignment="Right" Margin="0,40,284,0" Name="btnSwittch" VerticalAlignment="Center" Width="168" />
</StackPanel>
<StackPanel Grid.Row="1" >
<!--Here I want to display two user controls by switching from button on Top -->
</StackPanel>
</Grid>
tengo dos controles de usuario y addUser.xaml viewUser.xaml
addUser. código XAML:
<UserControl x:Class="SwitchUsers.addUser"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" Loaded="UserControl_Loaded">
<Grid>
<TextBlock Height="23" HorizontalAlignment="Left" Margin="29,79,0,0" Name="textBlock1" Text=" Enter Your Name" VerticalAlignment="Top" />
<TextBlock Height="23" HorizontalAlignment="Left" Margin="29,105,0,0" Name="textBlock2" Text="Enter Your Password" VerticalAlignment="Top" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="144,76,0,0" Name="txtBxName" VerticalAlignment="Top" Width="120" />
<TextBox Height="23" HorizontalAlignment="Left" Margin="144,105,0,0" Name="txtBxPassword" VerticalAlignment="Top" Width="120" />
<Button Content="Log In" Height="23" HorizontalAlignment="Left" Margin="171,160,0,0" Name="btnLogin" VerticalAlignment="Top" Width="93" />
</Grid>
</UserControl>
y mi segunda controle usuario viewUser.xaml
<UserControl x:Class="SwitchUsers.viewUser"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300">
<Grid>
<!-- I hidden all UI Controls here to keep code short -->
</Grid>
</UserControl>
@ John Petrak, estoy recibiendo el error – Panindra
@Joun Petrak, recibo un error con el código anterior. Título de error "ArgumentNullExecption no se ha manejado". El mensaje es "El valor no puede ser nulo". Nombre del parámetro: Los elementos secundarios de 'System.Windows.Controls.UIElementCollection' no pueden ser nulos. Objeto derivado de UIElement esperado. " – Panindra
Lo siento, fue un error al codificar ... ahora está funcionando, ¿puede afectar esto a la función si el control de usuario tiene muchos controles de UI con la carga de datos desde databse ... se bloqueará la aplicación? ... si así que puedo utilizar trabajador de fondo para llevar a cabo este interruptor b/w userscontrol – Panindra