diff --git a/HandyControl/Controls/Other/ChatBubble.cs b/HandyControl/Controls/Other/ChatBubble.cs
new file mode 100644
index 00000000..ffc2c6b6
--- /dev/null
+++ b/HandyControl/Controls/Other/ChatBubble.cs
@@ -0,0 +1,9 @@
+using System.Windows.Controls;
+
+namespace HandyControl.Controls
+{
+ public class ChatBubble : ContentControl
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/HandyControl/HandyControl.csproj b/HandyControl/HandyControl.csproj
index 5b0fc2e8..01dcb6c7 100644
--- a/HandyControl/HandyControl.csproj
+++ b/HandyControl/HandyControl.csproj
@@ -110,6 +110,7 @@
+
@@ -356,6 +357,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -408,6 +413,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
diff --git a/HandyControl/Themes/Styles/Base/ChatBubbleBaseStyle.xaml b/HandyControl/Themes/Styles/Base/ChatBubbleBaseStyle.xaml
new file mode 100644
index 00000000..876115c3
--- /dev/null
+++ b/HandyControl/Themes/Styles/Base/ChatBubbleBaseStyle.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/HandyControl/Themes/Styles/ChatBubble.xaml b/HandyControl/Themes/Styles/ChatBubble.xaml
new file mode 100644
index 00000000..ce52e400
--- /dev/null
+++ b/HandyControl/Themes/Styles/ChatBubble.xaml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/HandyControl/Themes/Styles/Style.xaml b/HandyControl/Themes/Styles/Style.xaml
index 329ca1c1..4c60d443 100644
--- a/HandyControl/Themes/Styles/Style.xaml
+++ b/HandyControl/Themes/Styles/Style.xaml
@@ -56,6 +56,7 @@
+
\ No newline at end of file
diff --git a/HandyControl/Themes/Styles/Window.xaml b/HandyControl/Themes/Styles/Window.xaml
index 0f4a3cef..27d9619d 100644
--- a/HandyControl/Themes/Styles/Window.xaml
+++ b/HandyControl/Themes/Styles/Window.xaml
@@ -56,15 +56,15 @@
-
+
-
+
-
+
-
+
diff --git a/HandyControlDemo/Data/MessageToken.cs b/HandyControlDemo/Data/MessageToken.cs
index 4acc6bc8..ff8d59f7 100644
--- a/HandyControlDemo/Data/MessageToken.cs
+++ b/HandyControlDemo/Data/MessageToken.cs
@@ -80,6 +80,8 @@
public static readonly string TransferDemoCtl = nameof(TransferDemoCtl);
+ public static readonly string ChatBubbleDemoCtl = nameof(ChatBubbleDemoCtl);
+
public static readonly string ButtonDemoCtl = nameof(ButtonDemoCtl);
public static readonly string ToggleButtonDemoCtl = nameof(ToggleButtonDemoCtl);
diff --git a/HandyControlDemo/Data/MessageToken.tt b/HandyControlDemo/Data/MessageToken.tt
index eccec53a..4fcd0b93 100644
--- a/HandyControlDemo/Data/MessageToken.tt
+++ b/HandyControlDemo/Data/MessageToken.tt
@@ -42,7 +42,8 @@ var controlList = new List
"CoverViewDemoCtl",
"CoverFlowDemoCtl",
"ProgressButtonDemoCtl",
- "TransferDemoCtl"
+ "TransferDemoCtl",
+ "ChatBubbleDemoCtl"
};
var styleList = new List
{
diff --git a/HandyControlDemo/HandyControlDemo.csproj b/HandyControlDemo/HandyControlDemo.csproj
index d6e2a191..77747122 100644
--- a/HandyControlDemo/HandyControlDemo.csproj
+++ b/HandyControlDemo/HandyControlDemo.csproj
@@ -132,6 +132,9 @@
CarouselDemoCtl.xaml
+
+ ChatBubbleDemoCtl.xaml
+
CirclePanelDemoCtl.xaml
@@ -420,6 +423,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -718,6 +725,7 @@
TextTemplatingFileGenerator
MessageToken.cs
+
diff --git a/HandyControlDemo/Properties/Langs/Lang.Designer.cs b/HandyControlDemo/Properties/Langs/Lang.Designer.cs
index 3c796f03..be8b0678 100644
--- a/HandyControlDemo/Properties/Langs/Lang.Designer.cs
+++ b/HandyControlDemo/Properties/Langs/Lang.Designer.cs
@@ -47,7 +47,7 @@ namespace HandyControlDemo.Properties.Langs {
}
///
- /// 使用此强类型资源类,为所有资源查找
+ /// 重写当前线程的 CurrentUICulture 属性
/// 重写当前线程的 CurrentUICulture 属性。
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
@@ -177,6 +177,15 @@ namespace HandyControlDemo.Properties.Langs {
}
}
+ ///
+ /// 查找类似 对话气泡 的本地化字符串。
+ ///
+ public static string ChatBubble {
+ get {
+ return ResourceManager.GetString("ChatBubble", resourceCulture);
+ }
+ }
+
///
/// 查找类似 讨论室 的本地化字符串。
///
diff --git a/HandyControlDemo/Properties/Langs/Lang.en.resx b/HandyControlDemo/Properties/Langs/Lang.en.resx
index b5f89cec..a5a05bf5 100644
--- a/HandyControlDemo/Properties/Langs/Lang.en.resx
+++ b/HandyControlDemo/Properties/Langs/Lang.en.resx
@@ -486,4 +486,7 @@
Transfer
+
+ ChatBubble
+
\ No newline at end of file
diff --git a/HandyControlDemo/Properties/Langs/Lang.resx b/HandyControlDemo/Properties/Langs/Lang.resx
index eb581357..4a851ecc 100644
--- a/HandyControlDemo/Properties/Langs/Lang.resx
+++ b/HandyControlDemo/Properties/Langs/Lang.resx
@@ -486,4 +486,7 @@
穿梭框
+
+ 对话气泡
+
\ No newline at end of file
diff --git a/HandyControlDemo/Resources/Img/LeftMainContent/Bubble_16xLG.png b/HandyControlDemo/Resources/Img/LeftMainContent/Bubble_16xLG.png
new file mode 100644
index 00000000..c73fba37
Binary files /dev/null and b/HandyControlDemo/Resources/Img/LeftMainContent/Bubble_16xLG.png differ
diff --git a/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml b/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml
new file mode 100644
index 00000000..40978f4f
--- /dev/null
+++ b/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml
@@ -0,0 +1,9 @@
+
+
+
+
+
diff --git a/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs b/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs
new file mode 100644
index 00000000..6c68a1de
--- /dev/null
+++ b/HandyControlDemo/UserControl/Controls/ChatBubbleDemoCtl.xaml.cs
@@ -0,0 +1,10 @@
+namespace HandyControlDemo.UserControl
+{
+ public partial class ChatBubbleDemoCtl
+ {
+ public ChatBubbleDemoCtl()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/HandyControlDemo/UserControl/Main/LeftMainContent.xaml b/HandyControlDemo/UserControl/Main/LeftMainContent.xaml
index 55696833..3b7dceee 100644
--- a/HandyControlDemo/UserControl/Main/LeftMainContent.xaml
+++ b/HandyControlDemo/UserControl/Main/LeftMainContent.xaml
@@ -187,6 +187,11 @@
+
+
+
+
+
@@ -277,7 +282,7 @@
-
+