Я хочу программно переключаться между двумя моими пользовательскими элементами управления AddUsers.xaml (пользовательский контроль) и Viewusers.xaml (пользовательский контроль) программно в Window1.xaml (главное окно).Добавление пользовательского контроля/страницы в Windows xaml программно в WPF
iam пытается переключить пользовательские элементы управления с помощью кнопки Event в Window1.xaml. я ничего не нашел в сети, так что любое тело может помочь мне.
мое окно1. XAML идет как этот
<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>
У меня есть два пользователя управления addUser.xaml и viewUser.xaml
AddUser. 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>
и мой второй Контрол пользователь 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, я получаю ошибку – Panindra
@Joun Petrak, я получаю сообщение об ошибке с приведенным выше кодом. Заголовок ошибки «ArgumentNullExecption не обрабатывается» и «Значение» не может быть нулевым. Имя параметра: Дети «System.Windows.Controls.UIElementCollection» не могут быть пустыми. Объект, полученный из ожидаемого UIElement. » – Panindra
Iam Извините, это была моя ошибка при кодировании. Теперь это работает, может ли это повлиять на perfromace, если у usercontrol есть много элементов управления пользовательского интерфейса с загрузкой данных из базы данных ... будет ли какая-нибудь ошибка? .. if так что я могу использовать фона рабочего для выполнения этого переключателя b/w userscontrol – Panindra