C# WPF上位机开发(文本编辑器的界面开发)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        通常我们学习一个新软件的时候,一般都要看下这个软件有哪些菜单、工具栏有什么、状态栏有什么。每一个菜单或者工具代表着什么意义,这就是我们学习新软件的基本方式。为什么要这么做,那是因为大部分软件都是在windows平台开发的,平台本身推荐的软件开发方式也是这么一种模式。所以,大家如果是开发windows软件,最好也是按着这种套路来进行开发,降低使用者学习的成本。

        这里为了学习菜单、工具栏和状态栏的设计,可以自己设计一款简单的文本编辑器,通过这样的方式,掌握一下这种模式开发应该怎么进行的。

1、菜单添加

        菜单主要是由Menu和MenuItem构成的。MenuItem里面可以嵌套MenuItem,这就是所谓的菜单嵌套。如果需要点击菜单的时候,弹出对应的窗口,那么只需要实现对应的函数就可以了。

            <Menu DockPanel.Dock="Top">
                <MenuItem Header="文本">
                    <MenuItem Name="menuCreate" Header="创建文本" Click="MenuItem_Click"></MenuItem>
                    <MenuItem Header="删除文本"></MenuItem>
                    <MenuItem Header="复制文本"></MenuItem>
                </MenuItem>

                <MenuItem Header="编辑"></MenuItem>
                <MenuItem Header="视图"></MenuItem>
                <MenuItem Header="关于"></MenuItem>
            </Menu>

2、工具栏

        和菜单栏相比较,工具栏简单很多。首席我们需要创建一个Toolbar的控件,接着在这个空间里面放上各种Button,Button和Button之间添加分隔符,这就是工具栏的形式。当然,如果需要美观一点的话,可以在Button的旁边插入各种图片,这样整体的布局效果要好看的多。

            <ToolBar DockPanel.Dock="Top">
                <Button Content="保存" Click="Button_Click"></Button>
                <Separator></Separator>
                <Button Content="另存为"></Button>
                <Separator></Separator>
                <Button Content="打印预览"></Button>
                <Separator></Separator>
                <Button Content="打印"></Button>
                <Separator></Separator>
                <Button Content="属性设置"></Button>
            </ToolBar>

3、状态栏

        状态栏和工具栏很类似,同样我们也需要创建一个Statusbar的控件。在这个控件里面,通过插入TextBlock、Label等方式,就可以呈现出状态栏的效果了。这里只是为了演示,添加了一个TextBlock控件。

            <StatusBar DockPanel.Dock="Bottom">
                <TextBlock Text="编辑状态"></TextBlock>
            </StatusBar>

4、整体布局

        上面只是简单了说明一下菜单、工具栏、状态栏是怎么编写的。如果是整体设计的话,我们可以Grid里面嵌套一个DockPanel,通过它的Top、Bottom机制来实现全部控件的布局。另外空间中涉及到的回调函数也是非常简单,主要就是调用MessageBox.Show函数来完成对应按钮的功能响应。最后有需要的朋友,可以参考下这个xaml布局,在后续的项目开发作为基础,做进一步的开发和应用。

<Window x:Class="WpfApp.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:WpfApp"
        mc:Ignorable="d"
        Title="文本编辑器" Height="400" Width="700">
    <Grid>
        <DockPanel Margin="0,0,-0.4,0.4">
            <Menu DockPanel.Dock="Top">
                <MenuItem Header="文本">
                    <MenuItem Name="menuCreate" Header="创建文本" Click="MenuItem_Click"></MenuItem>
                    <MenuItem Header="删除文本"></MenuItem>
                    <MenuItem Header="复制文本"></MenuItem>
                </MenuItem>

                <MenuItem Header="编辑"></MenuItem>
                <MenuItem Header="视图"></MenuItem>
                <MenuItem Header="关于"></MenuItem>
            </Menu>

            <ToolBar DockPanel.Dock="Top">
                <Button Content="保存" Click="Button_Click"></Button>
                <Separator></Separator>
                <Button Content="另存为"></Button>
                <Separator></Separator>
                <Button Content="打印预览"></Button>
                <Separator></Separator>
                <Button Content="打印"></Button>
                <Separator></Separator>
                <Button Content="属性设置"></Button>
            </ToolBar>

            <TextBox DockPanel.Dock="Top" Text="这里输入文字......" Height="300"  ></TextBox>

            <StatusBar DockPanel.Dock="Bottom">
                <TextBlock Text="编辑状态"></TextBlock>
            </StatusBar>
        </DockPanel>
    </Grid>
</Window>

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/134928225