WPFアプリケーションでusercontrols
内部を表示する別の方法があるかどうか知りたいのですが。mainwindow
現在usercontrols
、ボタンのクリックで一度に1つのユーザーコントロールを表示するために、の可視性プロパティを利用しています。ユーザーコントロールの可視性をに設定し、Hidden
ボタンをクリックすると可視性を変更します。それは完璧に動作します。しかし、これはこれを行う正しい方法ですか?
編集:
私はこのようなことを試みましたが、うまくいきません。
mainwindow.xaml:
<Window x:Class="WpfApplication4.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication4"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="54*" />
<RowDefinition Height="257*" />
</Grid.RowDefinitions>
<Grid Grid.Row="1">
<ContentControl Content="{Binding CurrentView}"/>
</Grid>
<Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="25,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
<Button Content="Button" Height="23" HorizontalAlignment="Right" Margin="0,12,251,0" Name="button2" VerticalAlignment="Top" Width="75" />
</Grid>
</Window>
UserControl1とUserControl2の2つのユーザーコントロールがあります。背後にあるコード:
private UserControl currentview;
private UserControl CurrentView
{
get
{
return this.currentview;
}
set
{
this.currentview = value;
//RaisePropertyChanged("CurrentView");
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
UserControl1 uc1 = new UserControl1();
CurrentView = uc1;
}
それは動作しません。それを行う正しい方法は何ですか?