掌握WPF控件:熟练常用属性(二)

news2025/1/24 17:40:29

WPF布局常用控件(二)

Calendar

  • 用于日期选择的控件。它提供了一个可视化的界面,可以通过它来选择特定的日期。
常用属性描述
DisplayMode用来设置Calendar的显示模式,有三种可选值:默认Month(月)、Year(年)和Decade(十年)。
SelectedDate用来获取或设置当前选中的日期。
Mode用来设置Calendar的显示模式,有默认Day(日)、Month(月)、Year(年)和Decade(十年)等模式。
FirstDayOfWeek用来设置一周的第一天是星期几。
DisplayDate用来设置初始显示得日期
SelectedDates用来获取当前选中的所有日期。
IsTodayHighlighted用来突出显示当前日期。默认IsTodayHighlighted 为 true。
SelectedDatesChanged选中的日期发生变化时会触发这个事件。
  • 下面写个列子
// xaml 代码
<Grid HorizontalAlignment="Center">
    <Grid.ColumnDefinitions>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
        <ColumnDefinition></ColumnDefinition>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition Height="180"></RowDefinition>
        <RowDefinition ></RowDefinition>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    <Calendar Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="3" HorizontalAlignment="Center"  x:Name="myCalendar"   SelectedDatesChanged="myCalendar_SelectedDatesChanged"/>
    <TextBlock Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3"  HorizontalAlignment="Center" x:Name="SelectedDateText" Text="" FontSize="20"></TextBlock>
    <Button Grid.Column="0" Grid.Row="2" Height="40" Content="设置模式月(Month)默认" Click="Button_Change_Month"></Button>
    <Button Grid.Column="1" Grid.Row="2" Height="40" Content="设置模式年(Year)" Margin="20 0" Click="Button_Change_Year"></Button>
    <Button Grid.Column="2" Grid.Row="2" Height="40" Content="设置模式十年(Decade)" Click="Button_Change_Decade"></Button>
    <Button Grid.Column="0" Grid.Row="3" Height="40"  Grid.ColumnSpan="3" Content="显示/隐藏今日日期突出" Click="Button_Change_IsTodayHighlighted" ></Button>
</Grid>
//C# 代码
using System.Windows;
using System.Windows.Controls;

namespace WpfCommonControls
{
    /// <summary>
    /// Calendar.xaml 的交互逻辑
    /// </summary>
    public partial class Calendar : Window
    {
        public Calendar()
        {
            InitializeComponent();
            // 获取当前初始值
            var displayDate = myCalendar.DisplayDate;
            SelectedDateText.Text = $"选中日期(SelectedDate):{displayDate.ToString()}";
        }

        private void Button_Change_Month(object sender, RoutedEventArgs e)
        {
            //设置显示模式月
            myCalendar.DisplayMode = CalendarMode.Month;
        }

        private void Button_Change_Year(object sender, RoutedEventArgs e)
        {
            //设置显示模式年
            myCalendar.DisplayMode = CalendarMode.Year;
        }

        private void Button_Change_Decade(object sender, RoutedEventArgs e)
        {
            //设置显示模式十年
            myCalendar.DisplayMode = CalendarMode.Decade;
        }

        private void myCalendar_SelectedDatesChanged(object sender, SelectionChangedEventArgs e)
        {
             // 获取当前选中的日期集合  
			 var selectedDate = myCalendar.SelectedDates;
			 SelectedDateText.Text =$"选中日期(SelectedDate):{selectedDate.FirstOrDefault()}";
			
			 或
			  获取当前选中的日期  
			 //var selectedDate = myCalendar.SelectedDate;
			 //SelectedDateText.Text = $"选中日期(SelectedDate):{selectedDate.ToString()}";
        }

        private void Button_Change_IsTodayHighlighted(object sender, RoutedEventArgs e)
        {
            //设置今日日期突出显示/隐藏
            myCalendar.IsTodayHighlighted = !myCalendar.IsTodayHighlighted;
        }
        
    }
}

Calendar

CheckBox

  • 是一个选框选框控件,它允许用户在界面上选择或取消选择一个选项。
常用属性描述
IsChecked用于获取或设置CheckBox的选中状态。它是个Nullable类型,选中时为true,未选中时为false,也可以设置为null表示不确定状态。
IsThreeState用于设置其具有三种状态:真、假和不确定。当IsThreeState属性设置为true时,CheckBox将多了一种“不确定状态”的第三种状态
Content用于获取或设置CheckBox的内容,它可以是任何类型的对象,例如字符串、数字、图像等
Checked当CheckBox的选中时,会触发Checked事件。
Unchecked当CheckBox的取消选中时,会触发Unchecked事件。
Indeterminate当CheckBox的状态不确定时,会触发Indeterminate事件
  • 下面写个列子
 <Grid HorizontalAlignment="Center">
     <Grid.RowDefinitions>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="Auto"/>
         <RowDefinition Height="Auto"/>
     </Grid.RowDefinitions>
     <TextBlock Text="复选框" Margin="0,20,10,20"
          FontFamily="Verdana" FontSize="18" FontWeight="Bold"
          Foreground="#FF5C9AC9" Grid.Row="0"/>

     <CheckBox Grid.Row="1" Margin="0,10"  Content="默认设置勾选状态"  IsChecked="True"/>
     <CheckBox Grid.Row="2" Margin="0,10"  Content="默认设置取消勾选状态"  IsChecked="False"/>
     <CheckBox Grid.Row="3" Margin="0,10"  Content="默认设置不确定状态" IsThreeState="True"  IsChecked="{x:Null}"/>

     <CheckBox x:Name="myCheckBox" Grid.Row="4" Margin="0,10" 
         Content="三种状态" IsThreeState="True"
         Checked="myCheckBox_Checked" Unchecked="myCheckBox_Unchecked" 
         Indeterminate="myCheckBox_Indeterminate" />
     <TextBlock x:Name="myTextTip" Grid.Row="5" Margin="0,10" />
 </Grid>
using System.Windows;

namespace WpfCommonControls
{
    /// <summary>
    /// CheckBox.xaml 的交互逻辑
    /// </summary>
    public partial class CheckBox : Window
    {
        public CheckBox()
        {
            InitializeComponent();
        }
        
        private void myCheckBox_Checked(object sender, RoutedEventArgs e)
        {
            // 勾选
            myTextTip.Text = $"三种勾选状态为:选中{myCheckBox.IsChecked}";
        }

        private void myCheckBox_Unchecked(object sender, RoutedEventArgs e)
        {
            //取消勾选
            myTextTip.Text = $"三种勾选状态为:取消选中{myCheckBox.IsChecked}";
        }

        private void myCheckBox_Indeterminate(object sender, RoutedEventArgs e)
        {
            //勾选状态为不确定时
            myTextTip.Text = $"三种勾选状态为:不确定{myCheckBox.IsChecked}";
        }
    }
}

CheckBox

ComboBox

  • 下拉列表框,它允许用户从下拉列表中选择一个选项。
常用属性描述
Items用于获取或设置ComboBox中的选项列表。
SelectedIndex用于获取或设置当前选中的选项的索引。
SelectedItem用于获取或设置当前选中的选项的值。
IsEditable用于设置ComboBox是否可编辑,如果可编辑,则用户可以在文本框中直接输入文本。
IsReadOnly用来设置用户是否能直接在ComboBox文本框内修改文本。IsReadOnly默认值为false,只有IsEditable设置为true时才生效。
  • 下面写个列子
//xaml代码
<Grid HorizontalAlignment="Center" >
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
        <RowDefinition Height="Auto"></RowDefinition>
    </Grid.RowDefinitions>
    <!--绑定数据源,并且在c# 代码里SelectedIndex默认选中第一项,然后有用SelectedItem修改了选中第三项,最终的索引为2-->
    <ComboBox x:Name="myComboBox" Grid.Row="0" Margin="10,10,0,0" VerticalAlignment="Top" Width="130" />
    <!--直接选项数据源,并且使用SelectedIndex 默认选中第一项-->
    <ComboBox  x:Name="myComboBox1" Grid.Row="1" Margin="10,10,0,0" VerticalAlignment="Top"  Width="130" SelectedIndex="0">
        <ComboBox.Items>
            <ComboBoxItem Content="我是xaml数据项1"/>
            <ComboBoxItem Content="我是xaml数据项2"/>
            <ComboBoxItem Content="我是xaml数据项3"/>
        </ComboBox.Items>

    </ComboBox>
    <!--设置可编辑-->
    <ComboBox  x:Name="myComboBox2" Grid.Row="2" Margin="10,10,0,0"  IsEditable="True" VerticalAlignment="Top" Width="280">
        <ComboBox.Items>
            <ComboBoxItem Content="我是可编辑(IsEditable)并且能复制粘贴剪切1"/>
            <ComboBoxItem Content="我是可编辑(IsEditable)并且能复制粘贴剪切2"/>
            <ComboBoxItem Content="我是可编辑(IsEditable)并且能复制粘贴剪切3"/>
        </ComboBox.Items>

    </ComboBox>

    <!--设置可编辑并且为只读-->
    <ComboBox x:Name="myComboBox3"  Grid.Row="3" Margin="10,10,0,0"  IsEditable="True" IsReadOnly="True" VerticalAlignment="Top" Width="310">
        <ComboBox.Items>
            <ComboBoxItem Content="我设置(IsEditable)可编辑并且(IsReadOnly)只能粘贴1"/>
            <ComboBoxItem Content="我设置(IsEditable)可编辑并且(IsReadOnly)只能粘贴2"/>
            <ComboBoxItem Content="我设置(IsEditable)可编辑并且(IsReadOnly)只能粘贴3"/>
        </ComboBox.Items>

    </ComboBox>
    <Button Grid.Row="4" Height="30"  Margin="10,10,0,0" Content="设置所有选中第三项" Click="Button_Change_ComboBoxItem" ></Button>
</Grid>
//c#代码
using System.Windows;

namespace WpfCommonControls
{
    /// <summary>
    /// ComboBox.xaml 的交互逻辑
    /// </summary>
    public partial class ComboBox : Window
    {
        public ComboBox()
        {
            InitializeComponent();
            // myComboBox添加数据
            LoadComboBoxItems();
        }

        private void LoadComboBoxItems()
        {
            myComboBox.Items.Add("我是c#添加数据1");
            myComboBox.Items.Add("我是c#添加数据2");
            myComboBox.Items.Add("我是c#添加数据3");
            myComboBox.SelectedIndex = 0; // 设置默认选中的选项

            //然后又用SelectedItem修改了选中值
            myComboBox.SelectedItem = "我是c#添加数据3";

            //最后的索引为2
            int lastIndex = myComboBox.SelectedIndex;
        }

        private void Button_Change_ComboBoxItem(object sender, RoutedEventArgs e)
        {
            // 设置所有的选项为3
            myComboBox.SelectedIndex = 2;
            myComboBox1.SelectedIndex = 2;
            myComboBox2.SelectedIndex = 2;
            myComboBox3.SelectedIndex = 2;

        }
    }
}

ComboBox

ContextMenu

  • 用于实现上下文菜单的功能的控件。它通常在鼠标右键单击某个控件时显示一个菜单,供用户选择操作。ContextMenu可以包含MenuItem控件,每个MenuItem代表一个可选项,用户选择后执行相应的操作。
常用属性描述
Items用于添加菜单项的集合。
PlacementTarget用来指定ContextMenu相对于哪个元素定位。
Placement用来设置和获取ContextMenu在元素上的位置关系。可选有四种值:Auto、Top、Bottom、Right等
PlacementRectangle用来获取或设置上下文菜单打开时与其所在位置相对的区域。
HasDropShadow用来获取或设置一个值,该值指示上下文菜单是否显示投影。默认为true
IsOpen用来控制ContextMenu是否显示。
HorizontalOffset用来获取或设置目标原点与弹出项对齐点之间的水平距离。
VerticalOffset用来获取或设置目标原点与弹出项对齐点之间的垂直距离。
  • 下面写个列子
<Grid HorizontalAlignment="Center" >
    <Grid.RowDefinitions>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
        <RowDefinition></RowDefinition>
    </Grid.RowDefinitions>
    
    <!--按钮绑定菜单-->
    <Button Grid.Row="0" x:Name="cmButton" Height="30" Width="180">
        带菜单的按钮,右键打开菜单
        <Button.ContextMenu>
            <ContextMenu x:Name="myContextMenu">
                <MenuItem Header="添加"/>
                <MenuItem Header="修改"/>
                <MenuItem Header="报错"/>
                <MenuItem Header="带有二级选项">
                    <MenuItem Header="二级修改"/>
                    <MenuItem Header="二级保存"/>
                </MenuItem>
            </ContextMenu>
        </Button.ContextMenu>
    </Button>

    <!--文本绑定菜单-->
    <TextBox Grid.Row="1" Name="textBox1"
     TextWrapping="Wrap"
     Margin="0, 20,0,10">
        我是可以根据菜单事件动态更改文本样式
        <TextBox.ContextMenu>
            <ContextMenu>
               <!--开启选中,可以勾选-->
                <MenuItem Header="设置粗体" IsCheckable="True" Checked="Bold_Checked" Unchecked="Bold_Unchecked" />
                <MenuItem Header="设置斜体"  IsCheckable="True"  Checked="Italic_Checked"  Unchecked="Italic_Unchecked" />
                <!--分割线-->
                <Separator />
                <MenuItem Header="动态设置字体增大"   Click="IncreaseFont_Click" />
                <MenuItem Header="动态设置字体缩小"  Click="DecreaseFont_Click" />
            </ContextMenu>
        </TextBox.ContextMenu>
    </TextBox>

    <!--按钮绑定菜单-->
    <Button x:Name="myPlacementTargetBtn"  Margin="0, 10" Grid.Row="2" Height="30" Width="180" Click="Button_Click"  ContextMenuOpening="ContextMenu_ContextMenuOpening">
        点击设置菜单显示位置
        <Button.ContextMenu>
            <ContextMenu>
                <MenuItem Header="添加"/>
                <MenuItem Header="修改"/>
            </ContextMenu>
        </Button.ContextMenu>
    </Button>

    <!--按钮绑定菜单-->
    <Button  Grid.Row="3" Height="30" Width="250">
        设置菜单水平和垂直相对位置,并且无投影
        <Button.ContextMenu>
            <ContextMenu   HorizontalOffset="50" VerticalOffset="50" HasDropShadow="False">
                <MenuItem Header="添加"/>
                <MenuItem Header="修改"/>
            </ContextMenu>
        </Button.ContextMenu>
    </Button>
</Grid>
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;

namespace WpfCommonControls
{
    /// <summary>
    /// ContextMenu.xaml 的交互逻辑
    /// </summary>
    public partial class ContextMenu : Window
    {
        public ContextMenu()
        {
            InitializeComponent();
        }

        private void Bold_Checked(object sender, RoutedEventArgs e)
        {
            // 勾选设置为粗体
            textBox1.FontWeight = FontWeights.Bold;
        }

        private void Bold_Unchecked(object sender, RoutedEventArgs e)
        {
            // 取消设置正常
            textBox1.FontWeight = FontWeights.Normal;
        }

        private void Italic_Checked(object sender, RoutedEventArgs e)
        {
            //设置字体倾斜
            textBox1.FontStyle = FontStyles.Italic;
        }

        private void Italic_Unchecked(object sender, RoutedEventArgs e)
        {
            // 取消 设置字体正常
            textBox1.FontStyle = FontStyles.Normal;
        }

        private void IncreaseFont_Click(object sender, RoutedEventArgs e)
        {
            // 动态设置字体加1
            if (textBox1.FontSize < 18)
            {
                textBox1.FontSize += 2;
            }
        }

        private void DecreaseFont_Click(object sender, RoutedEventArgs e)
        {
            // 动态设置字体减1
            if (textBox1.FontSize > 10)
            {
                textBox1.FontSize -= 2;
            }
        }

    
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //点击按钮手动打开
            myContextMenu.PlacementTarget = myPlacementTargetBtn; // 设置PlacementTarget属性为myPlacementTargetBtn控件  
            myContextMenu.Placement = PlacementMode.Bottom; // 设置显示位置为下方  
            myContextMenu.PlacementRectangle = new Rect(100, 100, 0, 0);//设置相对位置 x=100,y=100,宽度和高度为0
            myContextMenu.IsOpen = true;  //打开
        }

        private void ContextMenu_ContextMenuOpening(object sender, ContextMenuEventArgs e)
        {
            // 用来禁用右键打开菜单
            e.Handled = true; 
        }
    }
}

ContextMenu

公众号“点滴分享技术猿

关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1383586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解SpringCloud微服务技术栈:认识微服务、服务拆分与远程调用

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;首期文章 &#x1f4da;订阅专栏&#xff1a;微服务技术全家桶 希望文章对你们有所帮助 在此之前&#xff0c;耗时半个月&#x…

高效学习新编程语言的实践指南

学习一门新的编程语言或框架对于新手和有经验的程序员来说都是一个挑战。然而&#xff0c;通过采用一些有效的策略和方法&#xff0c;我们可以快速入门并掌握新的编程工具。本文将从新手和有编程经验两个不同的角度&#xff0c;分享一些实用的建议和技巧&#xff0c;帮助读者在…

Echarts图表如何利用formatter自定义tooltip的内容和样式

在展示多数据图表的时候 有的时候需要图例也展示出一些内容来&#xff0c;例如官方这样子&#xff1a;鼠标悬停的时候展示该点数据 但是&#xff0c;官方提供的样式有时不适用所有的开发场景 我的项目需要实现鼠标悬停在某一点的时候&#xff0c;只展示该条线的数据&#xff0…

【python】进阶--->MySQL数据库(三)

一、修改列的类型长度及约束 alter table 表名 modify 列名 类型(长度) [约束];修改列名 : alter table 表名 change 旧列名 新列名 类型(长度) [约束];二、数据查询语言 查询表中所有的数据 : select * from 表名; 查询表中部分列数据 : select 列名1, 列名2 from 表名;1. …

长亭科技-雷池WAF的安装与使用

目录 1、安装雷池 2、登录雷池 3、简单配置 4、防护测试 5、其他补充 1、安装雷池 在Linux系统上执行如下命令 &#xff08;需要docker环境&#xff0c;提前把docker、docker-compose 装好&#xff09; bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release…

MySQL8.0安装(Linux - centos)

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…

企业异地访问办公系统:对比运营商MPLS专线,内网穿透有何优势?

为了实现连锁门店、企业内部各地分支机构ERP、OA、远程监控、自建邮件服务器、智能网络设备等数据传输、互访&#xff0c;使用运营商专线或是采用内网穿透方案&#xff0c;彼此之间究竟有何区别呢&#xff1f; 简单来说&#xff0c;MPLS专线和普通宽带类似是运营商提供的网络租…

【GitHub项目推荐--国外大神复刻暗黑2】【转载】

《暗黑破坏神2》&#xff0c;由顶尖游戏公司暴雪研发&#xff0c;2000 年上市&#xff0c;其资料片 2001 年上市&#xff0c;2D 画面。相信这款游戏已经成为很多人的回忆了&#xff0c;不知道当时是不是也和我一样沉迷于收集套装呢&#xff1f; 这款游戏的剧情设计、画面感都令…

js关闭当前窗口报错Scripts may close only the windows that were opened by them

文章目录 一、问题二、原因三、解决四、最后 一、问题 在Chrome浏览器中调用window.close()关闭当前页面时浏览器控制台报出 Scripts may close only the windows that were opened by them. 且无法关闭当前页面。 先上结论&#xff1a;不是通过JS打开的浏览器标签&#xff0c…

HTML--CSS--边框、列表、表格样式

边框样式 属性&#xff1a; border-width 边框宽度 border-style 边框外观 border-color 边框颜色 需要同时设定三个属性 border-width 边框宽度 取值为像素值 border-style 边框样式 none 无样式 dashed 虚线 solid 实线 border-color 边框颜色 如示例&#xff1a; 为div设…

知识点整理[(GraphGeo)RELATED WORK]

2 RELATED WORK 2.1 IP Geolocation 问题一:IP定位预测方法之一:Data mining-based methods 回答: 依赖于在公开的资源中挖掘位置线索来对目标IP(target IP)进行地理定位。其中一些数据分析了来自与IP相关的数据库,如WHOIS数据库和DNS的数据。 (1)例如,Moore等…

如何简单的使用文心一言(高级版)(中国版ChatGPT)

文心一言API高级版使用 一、百度文心一言API(高级版)二、使用步骤1、接口2、请求参数3、请求参数示例4、接口 返回示例5、智能生成API代码 三、 如何获取appKey和uid1、申请appKey:2、获取appKey和uid 四、重要说明 一、百度文心一言API(高级版) 基于百度文心一言语言大模型的…

NLP论文阅读记录 - WOS | 2022 使用语言特征空间的抽象文本摘要的神经注意模型

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作三.本文方法3.1 总结为两阶段学习3.1.1 基础系统 3.2 重构文本摘要 四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Neural A…

SMART PLC绝对值定位往复运动控制(脉冲绝对定位+状态机编程)

三菱FX3GA系列绝对定位指令DDRVA实现往复运动控制详细内容介绍请参考下面文章链接&#xff1a; https://rxxw-control.blog.csdn.net/article/details/135570157https://rxxw-control.blog.csdn.net/article/details/135570157这篇博客我们介绍SMART PLC里如何开启绝对值定位指…

前缀和模板题 P8218 【深进1.例1】求区间和

一道前缀和的模板题 #include<bits/stdc.h> using namespace std; using ll long long; const int N 1e5 10; ll a[N],prefix[N]; int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n,m;cin >> n;for(int i 1; i < n; i) cin >> a[i]…

这可能是最全面的Java集合面试八股文了

内容摘自我的学习网站&#xff1a;topjavaer.cn 常见的集合有哪些&#xff1f; Java集合类主要由两个接口Collection和Map派生出来的&#xff0c;Collection有三个子接口&#xff1a;List、Set、Queue。 Java集合框架图如下&#xff1a; List代表了有序可重复集合&#xff0c…

yum来安装php727

yum 安装php727,一键安装&#xff0c;都是安装在系统的默认位置&#xff0c;方便快捷 先确定linux平台中centos的版本信息&#xff0c;一下内容针对el7 查看linux版本 &#xff1a; cat /etc/redhat-release 查看内核版本命令&#xff1a; cat /proc/version (0)如果有安装好…

RocketMQ源码阅读-Broker消息接收

RocketMQ源码阅读-Broker消息接收 1. 从单元测试入手2. Broker启动流程3. Broker接收消息4. Broker接收消息时序图5. 小结 Broker接收 Producer发送的消息。 Broker在RocketMQ中也是一个独立的Model&#xff0c;rocketmq-broker。 Broker的核心类为SendMessageProcessor。 …

vue项目之.env文件.env.dev、test、pro

.env文件是vue运行项目时的环境配置文件。 .env: 全局默认配置文件&#xff0c;所有环境(开发、测试、生产等&#xff09;均会加载并合并该文件 .env.development(开发环境默认命名) 开发环境的配置&#xff0c;文件名默认为.env.development,如果需要改名也是可以的&#xf…

[小程序]定位功能实现

第一步:首先要认识三个小程序的 api wx.chooseLocation 和 wx.getLocation 和 wx.openLocation (1).wx.chooseLocation 用于在小程序中选择地理位置。当用户点击选择位置按钮时&#xff0c;小程序会调起地图选择界面&#xff0c;用户可以在地图上选择一个位置&#xff0c;并可以…