Что я хочу сделать, это изменить/скопировать содержимое окна wpf одним нажатием кнопки. Я новичок в wpf и не знаю, как это сделать. Пожалуйста, если кто-нибудь может мне помочь, я буду так благодарен. Любые видеоуроки были бы лучшеДинамическое изменение содержимого в окне wpf
11
A
ответ
31
Вы можете поместить содержимое окна в UserControl. В вашем окне есть только контент-контроль и кнопка для изменения содержимого. Нажав на кнопку, вы можете переназначить контент-свойство элемента управления контентом.
Я сделал небольшой пример для этого.
Часть XAML-код для MainWindow может выглядеть следующим образом:
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Button Content="Switch" Click="ButtonClick"/>
<ContentControl x:Name="contentControl" Grid.Row="1"/>
</Grid>
</Window>
Я добавил два UserControls к раствору. CodeBehind для MainWindow выглядит следующим образом:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
this.contentControl.Content = new UserControl1();
}
private void ButtonClick(object sender, RoutedEventArgs e)
{
this.contentControl.Content = new UserControl2();
}
}
Update Я создал небольшой UserControl под названием MyUserControl. XAML-разметка выглядит
<UserControl x:Class="WpfApplication.MyUserControl"
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">
<StackPanel Orientation="Vertical">
<Label Content="This is a label on my UserControl"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left">
<Button Content="Testbutton 1" Margin="5"/>
<Button Content="Testbutton 2" Margin="5"/>
</StackPanel>
<CheckBox Content="Check Me"/>
</StackPanel>
</UserControl>
В кнопке клику случае выше вы можете назначить новый экземпляр этого UserControl к контент-контроля. Это можно сделать по:
this.contentControl.Content = new MyUserControl();
Смежные вопросы
- 1. Изменение содержимого окна WPF
- 2. Динамическое изменение содержимого содержимого CSS
- 3. Динамическое изменение содержимого UITableView
- 4. PHP - динамическое изменение содержимого
- 5. Динамическое изменение содержимого ngView
- 6. Динамическое изменение содержимого ListView
- 7. Динамическое изменение содержимого изображений
- 8. Динамическое изменение содержимого в закладках
- 9. Динамическое изменение содержимого поля sonata_type_model
- 10. Динамическое изменение свойства содержимого с помощью настраиваемого свойства XAML WPF
- 11. Динамическое изменение содержимого вкладки TabHost
- 12. Динамическое изменение ширины содержимого SlidingDrawer
- 13. Динамическое изменение содержимого тега div
- 14. Adobe Muse Динамическое изменение содержимого
- 15. Динамическое изменение содержимого src iframe
- 16. Динамическое изменение содержимого на rcarousel
- 17. Динамическое изменение всплывающего содержимого с внешнего источника
- 18. Изменение содержимого ListView в wpf
- 19. Динамическое изменение пользовательского управления - WPF
- 20. Динамическое изменение содержимого приложения в текущий день
- 21. Динамическое изменение содержимого всплывающей подсказки в kendoui
- 22. Динамическое изменение содержимого вкладки в материале UI
- 23. Динамическое изменение/обновление содержимого меню в PyGTK
- 24. Динамическое изменение фрагмента содержимого в ViewPager
- 25. Изменение размера содержимого в окне браузера
- 26. Изменение типа содержимого в всплывающем окне
- 27. Динамическое изменение стиля управления в WPF
- 28. Динамическое изменение анимации вращения в WPF
- 29. Динамическое изменение содержания сетки в wpf
- 30. Меню WPF - Динамическое отображение и скрытие содержимого
Извините, что я был глупым, но я абсолютно наивный, если бы вы показали мне пользовательский контроль, это очень поможет. Спасибо, что поделились этим так или иначе! –
Я обновил свой пост. Я надеюсь, что обновление поможет вам. – Tomtom
, но пользовательский элемент управления также предварительно создан. как бы вы создали пользовательский элемент управления во время выполнения? –