0
  • 私のc#Wpfスタンドアロンアプリケーションで、メインウィンドウを作成し、プロジェクトにさらに5つのウィンドウを追加しました
  • これらの5つのウィンドウのすべてのウィンドウの名前でメインウィンドウにボタンを配置しました。
  • 私の質問は:メインウィンドウのいずれかのボタンを押したとき..メインウィンドウの(Windowsエリア)に関連するウィンドウを表示する方法は?? たとえば、履歴ボタンを押した場合、メインウィンドウのその(Windowsエリア)に履歴ウィンドウを表示するにはどうすればよいですか?
  • 注:アプリケーションでナビゲーションコントロールを備えたページやナビゲーションウィンドウを使用したくありません。

ここに画像の説明を入力してください

4

1 に答える 1

3

ボタンをクリックすると、UserControlを使用して、ContainerControlに追加するだけです。

単純な例を次に示します。

MainWindow.xaml

<Window x:Class="WpfApplication1.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>
        <Button Content="History" Height="53" HorizontalAlignment="Left" Margin="12,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Click="button1_Click" />
        <Button Content="Precaution" Height="53" HorizontalAlignment="Left" Margin="109,12,0,0" Name="button2" VerticalAlignment="Top" Width="75" Click="button2_Click" />
        <Button Content="Uses" Height="53" HorizontalAlignment="Left" Margin="208,12,0,0" Name="button3" VerticalAlignment="Top" Width="75" Click="button3_Click" />
        <Button Content="Side Effects" Height="53" HorizontalAlignment="Left" Margin="314,12,0,0" Name="button4" VerticalAlignment="Top" Width="75" Click="button4_Click" />
        <Button Content="New Item" Height="53" HorizontalAlignment="Left" Margin="405,12,0,0" Name="button5" VerticalAlignment="Top" Width="75" Click="button5_Click" />
        <Viewbox Height="209" HorizontalAlignment="Left" Margin="12,90,0,0" Name="Container" VerticalAlignment="Top" Width="479" />
    </Grid>
</Window>

MainWindow.xaml.cs

public partial class MainWindow : Window
{
    History use1 = new History();
    Precaution use2 = new Precaution();
    Uses use3 = new Uses();
    SideEffect use4 = new SideEffect();
    NewItem use5 = new NewItem();

    public MainWindow()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, RoutedEventArgs e)
    {
        Container.Child = use1;
    }

    private void button2_Click(object sender, RoutedEventArgs e)
    {
        Container.Child = use2;
    }

    private void button3_Click(object sender, RoutedEventArgs e)
    {
        Container.Child = use3;
    }

    private void button4_Click(object sender, RoutedEventArgs e)
    {
        Container.Child = use4;
    }

    private void button5_Click(object sender, RoutedEventArgs e)
    {
        Container.Child = use5;
    }
}

ダミーのUserControls

<UserControl x:Class="WpfApplication1.History"
         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="209" d:DesignWidth="479" Background="AliceBlue">
    <Grid Width="479" Height="209">

    </Grid>
</UserControl>

<UserControl x:Class="WpfApplication1.Precaution"
         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="209" d:DesignWidth="479" Background="LightCoral" >
    <Grid Width="479" Height="209">

    </Grid>
</UserControl>

<UserControl x:Class="WpfApplication1.Uses"
         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="209" d:DesignWidth="479" Background="LightGreen" >
    <Grid Width="479" Height="209">

    </Grid>
</UserControl>

<UserControl x:Class="WpfApplication1.SideEffect"
         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="209" d:DesignWidth="479" Background="PapayaWhip" >
    <Grid Height="209" Width="479">

    </Grid>
</UserControl>

<UserControl x:Class="WpfApplication1.NewItem"
         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="209" d:DesignWidth="479" Background="LightGoldenrodYellow">
    <Grid Height="209" Width="479">

    </Grid>
</UserControl>
于 2012-12-27T03:26:23.217 に答える