WPF更改窗口的内部视图并创建对象列表

时间:2016-08-15 15:30:51

标签: wpf

所以我试图制作一个简单的消息传递应用程序。我已经拥有了我的数据库,我的课程和所有设置。现在我需要弄清楚如何进行布局。

我想要左侧的按钮,收件箱,已发送的消息,已删除的消息等。现在显然我不希望每次按下按钮时都创建一个新窗口。那么如何保留按钮等,但改变屏幕内容(类似于android活动/片段)?

Ans是否可以动态创建所有消息(包含主题,部分内容等)的列表,并为每个消息添加一个单击功能?与recyclerview类似?

我对WPF很陌生,所以我真的不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

我认为 TabControl 对于你想要的那种布局非常好,这是一个如何使用它的例子:

XAML文件

<Window x:Class="WpfApplication2.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:local="clr-namespace:WpfApplication2"
    mc:Ignorable="d"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <TabControl TabStripPlacement="Left">
        <TabItem Header="Inbox" Height="30">
            <TabItem.LayoutTransform>
                <RotateTransform Angle="90" />
            </TabItem.LayoutTransform>
            <TabItem.Content>
                Content of Inbox Window
            </TabItem.Content>
        </TabItem>
        <TabItem Header="Sent Items">
            <TabItem.LayoutTransform>
                <RotateTransform Angle="90" />
            </TabItem.LayoutTransform>
            <TabItem.Content>
                Content of Sent Items Window
            </TabItem.Content>
        </TabItem>
        <TabItem Header="Deleted Items">
            <TabItem.LayoutTransform>
                <RotateTransform Angle="90" />
            </TabItem.LayoutTransform>
            <TabItem.Content>
               Content of - guess what - deleted items
            </TabItem.Content>
        </TabItem>
    </TabControl>
</Grid>

看起来像这样: enter image description here