Chcę przełączać programowo między moimi dwoma kontrolkami użytkownika AddUsers.xaml (kontrola użytkownika) i Viewusers.xaml (kontrola użytkownika) w Window1.xaml (główne okno).Dodawanie kontroli/strony użytkownika do Windows Xaml programowo w WPF
Próbuję zmienić ustawienia użytkownika poprzez Button Event w Window1.xaml. nic nie znalazłem w sieci, więc każde ciało może mi pomóc.
my Window1. XAML idzie tak
<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>
mam dwa Elementy sterowania addUser.xaml i viewUser.xaml
adduser. Kod 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>
i moja druga controle użytkownik 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, Otrzymuję komunikat o błędzie – Panindra
@Joun Petrak, pojawia się błąd z powyższym kodem Napis błędu "ArgumentNullExecption był nieobsługiwany" i komunikat jest "Wartość nie może być pusta. Nazwa parametru: Dzieci w klasie "System.Windows.Controls.UIElementCollection" nie mogą mieć wartości null. Obiekt wywodzący się z oczekiwanego UIElement. " – Panindra
Przepraszam, to był mój błąd podczas kodowania ... teraz działa, czy może to wpłynąć na działanie perfromace, jeśli kontrolka użytkownika ma wiele kontroli UI z ładowaniem danych z bazy danych ... czy zawiedzie się aplikacja? .. jeśli więc czy mogę użyć narzędzia działającego w tle do wykonania tego przełącznika b/w userscontrol – Panindra