11
我想要做的是通過單擊按鈕更改/滑動wpf窗口的內容。我是wpf的新手,對於如何做到這一點毫無頭緒。如果有人能幫助我,我會很感激。任何視頻教程將是最好的在wpf窗口中動態更改內容
我想要做的是通過單擊按鈕更改/滑動wpf窗口的內容。我是wpf的新手,對於如何做到這一點毫無頭緒。如果有人能幫助我,我會很感激。任何視頻教程將是最好的在wpf窗口中動態更改內容
您可以將窗口的內容放入UserControl。你的窗口只有一個內容控制和一個按鈕來改變內容。點擊按鈕後,您可以重新分配內容控制的內容屬性。
我已經爲此做了一個小例子。
的XAML的代碼爲你的主窗口可以是這樣的:
<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>
我已經添加了兩個用戶控件的解決方案。代碼隱藏在主窗口的樣子:
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();
}
}
更新 我已經創建了一個小的用戶控件叫的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>
在按鈕單擊事件上面,你可以指定這個用戶控件的內容控制的新實例。你可以這樣做:
this.contentControl.Content = new MyUserControl();
對不起,我是完全天真的,如果你會告訴我一個用戶控件以及它會幫助很多。無論如何感謝分享這個! –
我更新了我的帖子。我希望這個更新能夠幫助你。 – Tomtom
但用戶控制也是預先構建的。你將如何在運行時創建一個用戶控件? –