{"id":1541,"date":"2023-05-28T21:13:32","date_gmt":"2023-05-28T13:13:32","guid":{"rendered":"https:\/\/sanlangcode.com\/?p=1541"},"modified":"2023-05-28T21:13:32","modified_gmt":"2023-05-28T13:13:32","slug":"wpf%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%e5%92%8c%e9%a1%b9%e7%9b%ae%e7%bb%93%e6%9e%84","status":"publish","type":"post","link":"https:\/\/sanlangcode.com\/index.php\/2023\/05\/28\/wpf%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88%e5%92%8c%e9%a1%b9%e7%9b%ae%e7%bb%93%e6%9e%84\/","title":{"rendered":"WPF\u5b66\u4e6001\u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u7ed3\u6784\u3010\u8f6c\u3011"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. \u6982\u8981<\/h2>\n\n\n\n<p>\u5b66\u4e60\u4e00\u79cd\u65b0\u7684\u67b6\u6784, \u8981\u5148\u4e86\u89e3\u5176\u5f00\u53d1\u5de5\u5177 \u548c \u9879\u76ee\u7ed3\u6784. \u76ee\u524dWPF \u9879\u76ee\u7684\u5f00\u53d1\u5de5\u5177 \u5e38\u7528\u7684\u662f Visual Studio, \u4e5f\u6709\u5176\u4ed6\u5f00\u53d1\u5de5\u5177\u5982: Rider. \u8fd9\u91cc\u4f7f\u7528\u5fae\u8f6f\u5b98\u65b9\u7684\u5f00\u53d1\u5de5\u5177 &#8212; Visual Studio(\u4ee5\u4e0b\u7b80\u79f0VS)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. \u65b0\u5efa\u9879\u76ee\/\u89e3\u51b3\u65b9\u6848<\/h2>\n\n\n\n<p>\u6253\u5f00 VS, \u65b0\u5efa\u9879\u76ee, \u9875\u9762\u5982\u4e0b:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314123658627.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314123658627.png\" alt=\"\" title=\"\"\/><\/a><\/figure>\n\n\n\n<p>\u9009\u62e9 C#\u8bed\u8a00 Windows\u5e73\u53f0 \u684c\u9762\u9879\u76ee, \u8fd9\u91cc\u9009\u62e9\u521b\u5efa .Framework \u5e94\u7528:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314125329618.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314125329618.png\" alt=\"image-20200314125329618\" title=\"image-20200314125329618\"\/><\/a><\/figure>\n\n\n\n<p>\u70b9\u51fb \u4e0b\u4e00\u6b65, \u586b\u5199 \u9879\u76ee\u540d\u79f0, \u9009\u62e9\u6846\u67b6\u7248\u672c. \u5982\u679c\u662f\u5355\u72ec\u9879\u76ee\u89e3\u51b3\u65b9\u6848 \u5c31\u52fe\u9009 \u653e\u7f6e\u5728\u540c\u4e00\u4e2a\u76ee\u5f55, \u5982\u679c\u662f\u591a\u9879\u76ee\u7684\u89e3\u51b3\u65b9\u6848 \u5c31\u4e0d\u52fe\u9009.<\/p>\n\n\n\n<p><strong>\u4e0b\u56fe\u4e3a \u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u653e\u5728\u540c\u4e00\u4e2a\u76ee\u5f55<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314125617589.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314125617589.png\" alt=\"image-20200314125617589\" title=\"image-20200314125617589\"\/><\/a><\/figure>\n\n\n\n<p><strong>\u4e0b\u56fe\u4e3a \u4e0d\u52fe\u9009 \u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u653e\u5728\u540c\u4e00\u4e2a\u76ee\u5f55\u4e2d<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314142634492.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314142634492.png\" alt=\"image-20200314142634492\" title=\"image-20200314142634492\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314142634492.png\">image-20200314142634492<\/a><\/p>\n\n\n\n<p>\u70b9\u51fb\u521b\u5efa, VS \u4f1a\u81ea\u52a8\u521b\u5efa\u65b0\u9879\u76ee.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. \u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u7684\u76ee\u5f55\u7ed3\u6784<\/h2>\n\n\n\n<p>\u521b\u5efaWPF \u9879\u76ee\u4ee5\u540e, \u5207\u6362\u5230 \u89e3\u51b3\u65b9\u6848\u8d44\u6e90\u7ba1\u7406\u67e5\u770b\u9879\u76ee\u7ed3\u6784:<\/p>\n\n\n\n<p><strong>\u4e0b\u56fe\u4e3a \u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u4e0d\u540c\u76ee\u5f55\u7684\u9ed8\u8ba4\u76ee\u5f55\u7ed3\u6784\u56fe<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314142824358.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314142824358.png\" alt=\"\" title=\"\"\/><\/a><\/figure>\n\n\n\n<p><strong>\u4e0b\u56fe\u4e3a\u89e3\u51b3\u65b9\u6848\u548c\u9879\u76ee\u540c\u4e00\u4e2a\u76ee\u5f55\u7684\u76ee\u5f55\u7ed3\u6784\u56fe<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143000240.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143000240.png\" alt=\"image-20200314143000240\" title=\"image-20200314143000240\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143000240.png\">image-20200314143000240<\/a><\/p>\n\n\n\n<p>\u4ece\u4e0a\u56fe\u57fa\u672c\u770b\u4e0d\u51fa\u5dee\u522b, \u552f\u4e00\u7684\u5dee\u522b\u5728\u4e8e\u89e3\u51b3\u65b9\u6848\u7684\u6807\u9898\u63d0: &#8220;\u89e3\u51b3\u65b9\u6848&#8221;FirstWPF&#8221;&#8221; \u540e\u9762\u7684\u8bf4\u660e:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u89e3\u51b3\u65b9\u6848&#8221;FirstWPF&#8221;(1\u4e2a\u9879\u76ee\/\u51711\u4e2a)<\/li><li>\u89e3\u51b3\u65b9\u6848&#8221;FirstWPF&#8221;(1\u4e2a\u9879\u76ee)<\/li><\/ul>\n\n\n\n<p>\u4f46\u662f\u4ece\u8d44\u6e90\u7ba1\u7406\u5668\u67e5\u770b\u6587\u4ef6\u5939,\u53ef\u4ee5\u770b\u51fa\u4e0d\u540c:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143535448.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143535448.png\" alt=\"image-20200314143535448\" title=\"image-20200314143535448\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143535448.png\">image-20200314143535448<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143704983.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143704983.png\" alt=\"image-20200314143704983\" title=\"image-20200314143704983\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143704983.png\">image-20200314143704983<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143946380.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143946380.png\" alt=\"image-20200314143946380\" title=\"image-20200314143946380\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314143946380.png\">image-20200314143946380<\/a><\/p>\n\n\n\n<p>\u4ece\u4e0a\u56fe\u53ef\u4ee5\u770b\u51fa\u533a\u522b\u662f \u5c06&nbsp;<code>.vs\u6587\u4ef6\u5939<\/code>&nbsp;\u548c&nbsp;<code>FirstWPF.sh<\/code>&nbsp;\u6587\u4ef6\u79fb\u52a8\u5230 \u548c&nbsp;<code>FirstWPF<\/code>\u9879\u76ee\u6587\u4ef6\u5939\u540c\u4e00\u4e2a\u5c42\u7ea7. \u5176\u4e2d:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>FirstWPF.sh : \u6b64\u6587\u4ef6\u4e3a\u89e3\u51b3\u65b9\u6848\u7684\u914d\u7f6e\u6587\u4ef6<\/li><li>FirstWPF.csproj : \u6b64\u6587\u4ef6\u4e3a \u9879\u76ee\u7684\u914d\u7f6e\u6587\u4ef6<\/li><\/ul>\n\n\n\n<p>\u6211\u4eec\u6253\u5f00\u4e24\u4e2a\u4e0d\u540c\u521b\u5efa\u65b9\u5f0f\u7684 \u89e3\u51b3\u65b9\u6848\u914d\u7f6e\u6587\u4ef6\u67e5\u770b\u5185\u5bb9, \u53d1\u73b0\u4e0d\u540c\u7684\u5730\u65b9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>## \u540c\u4e00\u4e2a\u76ee\u5f55\u7684 \u89e3\u51b3\u65b9\u6848\u90e8\u5206\u5185\u5bb9\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"FirstWPF\", \"FirstWPF.csproj\", \"{28D50E34-3BD6-4AF0-8B56-FF05F054DAAF}\"\n\n## \u4e0d\u540c\u4e00\u4e2a\u76ee\u5f55\u7684 \u89e3\u51b3\u65b9\u6848\u90e8\u5206\u5185\u5bb9\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"FirstWPF\", \"FirstWPF\\FirstWPF.csproj\", \"{13EAA442-8D8A-4848-9996-39F215B9C57D}\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4. WPF\u9879\u76ee\u7684\u76ee\u5f55\u7ed3\u6784<\/h2>\n\n\n\n<p>\u5728VS \u7684 \u89e3\u51b3\u65b9\u6848\u8d44\u6e90\u7ba1\u7406\u5668\u4e2d , \u53ef\u4ee5\u5207\u6362\u663e\u793a\u6a21\u5f0f:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145305593.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145305593.png\" alt=\"image-20200314145305593\" title=\"image-20200314145305593\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145305593.png\">image-20200314145305593<\/a><\/p>\n\n\n\n<p>\u4e0a\u56fe\u4e2d\u6211\u4eec\u53ef\u4ee5\u770b\u5230 WPF \u5de5\u7a0b\u7684\u9879\u76ee\u7ed3\u6784, \u5176\u7528\u9014\u5982\u4e0b:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>FirstWPF : \u89e3\u51b3\u65b9\u6848\u7684\u540d\u5b57<ul><li>FirstWPF : \u9879\u76ee\u7684\u540d\u5b57<ul><li>bin\/ : \u7528\u6765\u4fdd\u5b58\u9879\u76ee\u751f\u6210\u540e\u7684\u7a0b\u5e8f\u96c6, \u4e00\u822c\u6709 Debug \u548c Release \u4e24\u4e2a\u7248\u672c.\u6211\u4eec\u53ef\u4ee5\u901a\u8fc7\uff1a\u9879\u76ee\u5c5e\u6027\u2014&gt;\u914d\u7f6e\u5c5e\u6027\u2014&gt;\u8f93\u51fa\u8def\u5f84\u6765\u4fee\u6539<ul><li>Debug<\/li><li>Release<\/li><\/ul><\/li><li>obj\/ : \u4fdd\u5b58\u6bcf\u4e2a\u6a21\u5757\u7684\u7f16\u8bd1\u7ed3\u679c, \u5bf9\u5e94\u7684\u4f1a\u6709 Debug \u548c Release\u4e24\u4e2a\u76ee\u5f55<ul><li>Debug<\/li><li>Release<\/li><\/ul><\/li><li>Properties : \u9879\u76ee\u5c5e\u6027\u6587\u4ef6\u5939<ul><li>AssemblyInfo.cs : \u7a0b\u5e8f\u96c6\u914d\u7f6e\u4fe1\u606f\u6587\u4ef6, \u53ef\u4ee5\u4fee\u6539<\/li><li>Resources.Designer.cs : VS \u81ea\u52a8\u751f\u6210\u7684\u8d44\u6e90\u8bbe\u8ba1\u89c6\u56fe, \u6253\u5f00\u5982\u4e0b\u9762\u7684&#8221;<strong>\u8d44\u6e90\u7ba1\u7406\u89c6\u56fe<\/strong>&#8220;<\/li><li>Resources.resx : \u548c\u4e0a\u9762\u7684 Resources.Designer.cs \u4e00\u8d77\u7ec4\u6210\u8d44\u6e90\u7ba1\u7406\u89c6\u56fe<\/li><li>Settings.Designer.cs : VS\u81ea\u52a8\u751f\u6210\u9879\u76ee\u914d\u7f6e\u89c6\u56fe<\/li><li>Settings.settings : \u5e94\u7528\u7a0b\u5e8f\u8bbe\u7f6e\u5141\u8bb8\u52a8\u6001\u5b58\u50a8\u548c\u7d22\u5f15\u5e94\u7528\u7a0b\u5e8f\u7684\u5c5e\u6027\u8bbe\u7f6e\u548c\u5176\u4ed6\u4fe1\u606f.<\/li><li>App.config : \u9879\u76ee\u7684\u5c5e\u6027\u914d\u7f6e\u6587\u4ef6<\/li><\/ul><\/li><li>App.xaml : \u9879\u76ee\u5165\u53e3 Application \u7c7b\u7684\u5b50\u7c7b\u7684xaml \u6587\u4ef6<\/li><li>App.xaml.cs : \u9879\u76ee\u7684\u5165\u53e3 Application \u7c7b\u7684\u5b50\u7c7b<\/li><li>FirstWPF.csproj : \u9879\u76ee\u7ed3\u6784\u914d\u7f6e\u6587\u4ef6<\/li><li>MainWindow.xaml : \u9ed8\u8ba4\u7684\u7b2c\u4e00\u4e2a\u754c\u9762\u7684\u8bbe\u8ba1\u6587\u4ef6<\/li><li>MainWindow.xaml.cs : \u9ed8\u8ba4\u7684\u7b2c\u4e00\u4e2a\u754c\u9762\u7684\u4ee3\u7801\u6587\u4ef6<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<p>\u5728\u89e3\u51b3\u65b9\u6848\u8d44\u6e90\u7ba1\u7406\u5668 \u5207\u6362\u5230\u5de5\u7a0b\u6a21\u5f0f\u663e\u793a\u5982\u4e0b:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150625780.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150625780.png\" alt=\"image-20200314150625780\" title=\"image-20200314150625780\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150625780.png\">image-20200314150625780<\/a><\/p>\n\n\n\n<p><strong>\u53cc\u51fb&nbsp;<code>Properties<\/code>&nbsp;\u4f1a\u663e\u793a \u9879\u76ee\u914d\u7f6e\u7684 UI \u754c\u9762:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150704278.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150704278.png\" alt=\"image-20200314150704278\" title=\"image-20200314150704278\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150704278.png\">image-20200314150704278<\/a><\/p>\n\n\n\n<p><strong>\u53cc\u51fb<code>&nbsp;Resources.resx<\/code>\u4f1a\u663e\u793a\u8d44\u6e90\u7ba1\u7406\u89c6\u56fe:<\/strong>&nbsp;<strong>\u8d44\u6e90\u7ba1\u7406\u89c6\u56fe<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145847987.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145847987.png\" alt=\"image-20200314145847987\" title=\"image-20200314145847987\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314145847987.png\">image-20200314145847987<\/a><\/p>\n\n\n\n<p>\u53cc\u51fb&nbsp;<code>Settings.settings<\/code>&nbsp;\u4f1a\u663e\u793a\u8bbe\u7f6e\u89c6\u56fe:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150842149.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150842149.png\" alt=\"image-20200314150842149\" title=\"image-20200314150842149\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314150842149.png\">image-20200314150842149<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. WPF\u9879\u76ee\u7684\u63a5\u53e3\u9ed8\u8ba4\u5185\u5bb9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">5.1 \u9879\u76ee\u6587\u4ef6 FirstWPF.csproj<\/h3>\n\n\n\n<p>\u6253\u5f00<code>FristWPF.csproj<\/code>\u6587\u4ef6, \u5185\u5bb9\u5982\u4e0b :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;<strong>Project<\/strong> ToolsVersion=\"15.0\" xmlns=\"http:\/\/schemas.microsoft.com\/developer\/msbuild\/2003\"&gt;\n  &lt;<strong>Import<\/strong> Project=\"$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props\" Condition=\"Exists('$(MSBuildExtensionsPath)\\$(MSBuildToolsVersion)\\Microsoft.Common.props')\" \/&gt;\n  &lt;<strong>PropertyGroup<\/strong>&gt;\n    &lt;<strong>Configuration<\/strong> Condition=\" '$(Configuration)' == '' \"&gt;Debug&lt;\/<strong>Configuration<\/strong>&gt;\n    &lt;<strong>Platform<\/strong> Condition=\" '$(Platform)' == '' \"&gt;AnyCPU&lt;\/<strong>Platform<\/strong>&gt;\n    &lt;<strong>ProjectGuid<\/strong>&gt;{13EAA442-8D8A-4848-9996-39F215B9C57D}&lt;\/<strong>ProjectGuid<\/strong>&gt;\n    &lt;<strong>OutputType<\/strong>&gt;WinExe&lt;\/<strong>OutputType<\/strong>&gt;\n    &lt;<strong>RootNamespace<\/strong>&gt;FirstWPF&lt;\/<strong>RootNamespace<\/strong>&gt;\n    &lt;<strong>AssemblyName<\/strong>&gt;FirstWPF&lt;\/<strong>AssemblyName<\/strong>&gt;\n    &lt;<strong>TargetFrameworkVersion<\/strong>&gt;v4.5&lt;\/<strong>TargetFrameworkVersion<\/strong>&gt;\n    &lt;<strong>FileAlignment<\/strong>&gt;512&lt;\/<strong>FileAlignment<\/strong>&gt;\n    &lt;<strong>ProjectTypeGuids<\/strong>&gt;{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}&lt;\/<strong>ProjectTypeGuids<\/strong>&gt;\n    &lt;<strong>WarningLevel<\/strong>&gt;4&lt;\/<strong>WarningLevel<\/strong>&gt;\n    &lt;<strong>Deterministic<\/strong>&gt;true&lt;\/<strong>Deterministic<\/strong>&gt;\n  &lt;\/<strong>PropertyGroup<\/strong>&gt;\n  &lt;<strong>PropertyGroup<\/strong> Condition=\" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' \"&gt;\n    &lt;<strong>PlatformTarget<\/strong>&gt;AnyCPU&lt;\/<strong>PlatformTarget<\/strong>&gt;\n    &lt;<strong>DebugSymbols<\/strong>&gt;true&lt;\/<strong>DebugSymbols<\/strong>&gt;\n    &lt;<strong>DebugType<\/strong>&gt;full&lt;\/<strong>DebugType<\/strong>&gt;\n    &lt;<strong>Optimize<\/strong>&gt;false&lt;\/<strong>Optimize<\/strong>&gt;\n    &lt;<strong>OutputPath<\/strong>&gt;bin\\Debug\\&lt;\/<strong>OutputPath<\/strong>&gt;\n    &lt;<strong>DefineConstants<\/strong>&gt;DEBUG;TRACE&lt;\/<strong>DefineConstants<\/strong>&gt;\n    &lt;<strong>ErrorReport<\/strong>&gt;prompt&lt;\/<strong>ErrorReport<\/strong>&gt;\n    &lt;<strong>WarningLevel<\/strong>&gt;4&lt;\/<strong>WarningLevel<\/strong>&gt;\n  &lt;\/<strong>PropertyGroup<\/strong>&gt;\n  &lt;<strong>PropertyGroup<\/strong> Condition=\" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' \"&gt;\n    &lt;<strong>PlatformTarget<\/strong>&gt;AnyCPU&lt;\/<strong>PlatformTarget<\/strong>&gt;\n    &lt;<strong>DebugType<\/strong>&gt;pdbonly&lt;\/<strong>DebugType<\/strong>&gt;\n    &lt;<strong>Optimize<\/strong>&gt;true&lt;\/<strong>Optimize<\/strong>&gt;\n    &lt;<strong>OutputPath<\/strong>&gt;bin\\Release\\&lt;\/<strong>OutputPath<\/strong>&gt;\n    &lt;<strong>DefineConstants<\/strong>&gt;TRACE&lt;\/<strong>DefineConstants<\/strong>&gt;\n    &lt;<strong>ErrorReport<\/strong>&gt;prompt&lt;\/<strong>ErrorReport<\/strong>&gt;\n    &lt;<strong>WarningLevel<\/strong>&gt;4&lt;\/<strong>WarningLevel<\/strong>&gt;\n  &lt;\/<strong>PropertyGroup<\/strong>&gt;\n  &lt;<strong>ItemGroup<\/strong>&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Data\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Xml\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"Microsoft.CSharp\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Core\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Xml.Linq\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Data.DataSetExtensions\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Net.Http\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"System.Xaml\"&gt;\n      &lt;<strong>RequiredTargetFramework<\/strong>&gt;4.0&lt;\/<strong>RequiredTargetFramework<\/strong>&gt;\n    &lt;\/<strong>Reference<\/strong>&gt;\n    &lt;<strong>Reference<\/strong> Include=\"WindowsBase\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"PresentationCore\" \/&gt;\n    &lt;<strong>Reference<\/strong> Include=\"PresentationFramework\" \/&gt;\n  &lt;\/<strong>ItemGroup<\/strong>&gt;\n  &lt;<strong>ItemGroup<\/strong>&gt;\n    &lt;<strong>ApplicationDefinition<\/strong> Include=\"App.xaml\"&gt;\n      &lt;<strong>Generator<\/strong>&gt;MSBuild:Compile&lt;\/<strong>Generator<\/strong>&gt;\n      &lt;<strong>SubType<\/strong>&gt;Designer&lt;\/<strong>SubType<\/strong>&gt;\n    &lt;\/<strong>ApplicationDefinition<\/strong>&gt;\n    &lt;<strong>Page<\/strong> Include=\"MainWindow.xaml\"&gt;\n      &lt;<strong>Generator<\/strong>&gt;MSBuild:Compile&lt;\/<strong>Generator<\/strong>&gt;\n      &lt;<strong>SubType<\/strong>&gt;Designer&lt;\/<strong>SubType<\/strong>&gt;\n    &lt;\/<strong>Page<\/strong>&gt;\n    &lt;<strong>Compile<\/strong> Include=\"App.xaml.cs\"&gt;\n      &lt;<strong>DependentUpon<\/strong>&gt;App.xaml&lt;\/<strong>DependentUpon<\/strong>&gt;\n      &lt;<strong>SubType<\/strong>&gt;Code&lt;\/<strong>SubType<\/strong>&gt;\n    &lt;\/<strong>Compile<\/strong>&gt;\n    &lt;<strong>Compile<\/strong> Include=\"MainWindow.xaml.cs\"&gt;\n      &lt;<strong>DependentUpon<\/strong>&gt;MainWindow.xaml&lt;\/<strong>DependentUpon<\/strong>&gt;\n      &lt;<strong>SubType<\/strong>&gt;Code&lt;\/<strong>SubType<\/strong>&gt;\n    &lt;\/<strong>Compile<\/strong>&gt;\n  &lt;\/<strong>ItemGroup<\/strong>&gt;\n  &lt;<strong>ItemGroup<\/strong>&gt;\n    &lt;<strong>Compile<\/strong> Include=\"Properties\\AssemblyInfo.cs\"&gt;\n      &lt;<strong>SubType<\/strong>&gt;Code&lt;\/<strong>SubType<\/strong>&gt;\n    &lt;\/<strong>Compile<\/strong>&gt;\n    &lt;<strong>Compile<\/strong> Include=\"Properties\\Resources.Designer.cs\"&gt;\n      &lt;<strong>AutoGen<\/strong>&gt;True&lt;\/<strong>AutoGen<\/strong>&gt;\n      &lt;<strong>DesignTime<\/strong>&gt;True&lt;\/<strong>DesignTime<\/strong>&gt;\n      &lt;<strong>DependentUpon<\/strong>&gt;Resources.resx&lt;\/<strong>DependentUpon<\/strong>&gt;\n    &lt;\/<strong>Compile<\/strong>&gt;\n    &lt;<strong>Compile<\/strong> Include=\"Properties\\Settings.Designer.cs\"&gt;\n      &lt;<strong>AutoGen<\/strong>&gt;True&lt;\/<strong>AutoGen<\/strong>&gt;\n      &lt;<strong>DependentUpon<\/strong>&gt;Settings.settings&lt;\/<strong>DependentUpon<\/strong>&gt;\n      &lt;<strong>DesignTimeSharedInput<\/strong>&gt;True&lt;\/<strong>DesignTimeSharedInput<\/strong>&gt;\n    &lt;\/<strong>Compile<\/strong>&gt;\n    &lt;<strong>EmbeddedResource<\/strong> Include=\"Properties\\Resources.resx\"&gt;\n      &lt;<strong>Generator<\/strong>&gt;ResXFileCodeGenerator&lt;\/<strong>Generator<\/strong>&gt;\n      &lt;<strong>LastGenOutput<\/strong>&gt;Resources.Designer.cs&lt;\/<strong>LastGenOutput<\/strong>&gt;\n    &lt;\/<strong>EmbeddedResource<\/strong>&gt;\n    &lt;<strong>None<\/strong> Include=\"Properties\\Settings.settings\"&gt;\n      &lt;<strong>Generator<\/strong>&gt;SettingsSingleFileGenerator&lt;\/<strong>Generator<\/strong>&gt;\n      &lt;<strong>LastGenOutput<\/strong>&gt;Settings.Designer.cs&lt;\/<strong>LastGenOutput<\/strong>&gt;\n    &lt;\/<strong>None<\/strong>&gt;\n  &lt;\/<strong>ItemGroup<\/strong>&gt;\n  &lt;<strong>ItemGroup<\/strong>&gt;\n    &lt;<strong>None<\/strong> Include=\"App.config\" \/&gt;\n  &lt;\/<strong>ItemGroup<\/strong>&gt;\n  &lt;<strong>Import<\/strong> Project=\"$(MSBuildToolsPath)\\Microsoft.CSharp.targets\" \/&gt;\n&lt;\/<strong>Project<\/strong>&gt;<\/code><\/pre>\n\n\n\n<p><strong>1. ToolsVersion<\/strong><\/p>\n\n\n\n<p>\u6b64\u5c5e\u6027\u7684\u542b\u4e49\u662f MSBuild \u7684\u7248\u672c, \u6b64\u90e8\u5206\u8bf4\u660e\u5728\u5b98\u65b9\u7684 MSBuild \u8bf4\u660e\u6587\u6863\u4e2d:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151600460.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151600460.png\" alt=\"image-20200314151600460\" title=\"image-20200314151600460\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151600460.png\">image-20200314151600460<\/a><\/p>\n\n\n\n<p><strong>2. PropertyGroup<\/strong><\/p>\n\n\n\n<p>\u63a5\u7740\u7684\u4e09\u4e2a PropertyGroup \u5206\u522b\u914d\u7f6e\u4e86\u9879\u76ee\u7684\u6784\u5efa\u7c7b\u578b: Debug | Release, \u5305\u62ec\u4e86:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Configuration : \u914d\u7f6e\u540d\u79f0<\/li><li>Platform : \u8fd0\u884c\u5e73\u53f0<\/li><li>ProjectGuid : \u9879\u76ee\u7684guid<\/li><li>OutputType: \u8f93\u51fa\u7c7b\u578b , win exe<\/li><li>RootNamespace : \u6839\u547d\u540d\u7a7a\u95f4\u7684\u540d\u5b57<\/li><li>AssemblyName : \u7a0b\u5e8f\u96c6\u540d\u79f0<\/li><\/ul>\n\n\n\n<p>\u7b49\u7b49\u4e00\u4e9b\u914d\u7f6e\u4fe1\u606f. \u6211\u4eec\u6253\u5f00\u914d\u7f6e\u7ba1\u7406\u5668\u53ef\u4ee5\u770b\u5230 UI\u754c\u9762:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151839971.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151839971.png\" alt=\"image-20200314151839971\" title=\"image-20200314151839971\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151839971.png\">image-20200314151839971<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151915149.png\"><img decoding=\"async\" src=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151915149.png\" alt=\"image-20200314151915149\" title=\"image-20200314151915149\"\/><\/a><\/figure>\n\n\n\n<p><a href=\"http:\/\/image.devwiki.net\/picgo\/image-20200314151915149.png\">image-20200314151915149<\/a><\/p>\n\n\n\n<p><strong>3. Reference ItemGroup<\/strong><\/p>\n\n\n\n<p>\u4e0b\u9762\u7684 ItemGroup \u662f\u5f15\u7528\u4fe1\u606f, \u9ed8\u8ba4\u5f15\u7528\u4e86\u4ee5\u4e0b\u5185\u5bb9:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>System : \u5305\u542b\u7528\u4e8e\u5b9a\u4e49\u5e38\u7528\u503c\u548c\u5f15\u7528\u6570\u636e\u7c7b\u578b\u3001\u4e8b\u4ef6\u548c\u4e8b\u4ef6\u5904\u7406\u7a0b\u5e8f\u3001\u63a5\u53e3\u3001\u7279\u6027\u4ee5\u53ca\u5904\u7406\u5f02\u5e38\u7684\u57fa\u7840\u7c7b\u548c\u57fa\u7c7b\u3002<\/li><li>System.Data: \u63d0\u4f9b\u5bf9\u8868\u793a ADO.NET \u7ed3\u6784\u7684\u7c7b\u7684\u8bbf\u95ee\u3002 \u901a\u8fc7 ADO.NET\uff0c\u53ef\u4ee5\u751f\u6210\u53ef\u6709\u6548\u7ba1\u7406\u591a\u4e2a\u6570\u636e\u6e90\u7684\u6570\u636e\u7684\u7ec4\u4ef6\u3002<\/li><li>System.Xml : \u6807\u51c6\u7684 xml \u652f\u6301<\/li><li>Microsoft.CSharp : \u5305\u542b\u652f\u6301\u4f7f\u7528 C# \u8bed\u8a00\u7f16\u8bd1\u548c\u751f\u6210\u4ee3\u7801\u7684\u7c7b<\/li><li>System.Core : \u5f15\u7528 System.Core.dll<\/li><li>System.Xml.Linq : \u5305\u542b LINQ to XML \u7684\u7c7b\u3002 LINQ to XML \u662f\u5185\u5b58\u4e2d\u7684 XML \u7f16\u7a0b\u63a5\u53e3\uff0c\u53ef\u4ee5\u8f7b\u677e\u6709\u6548\u5730\u4fee\u6539 XML \u6587\u6863\u3002<\/li><li>System.Data.DataSetExtensions : \u5f15\u7528 DataSetExtensions.dll<\/li><li>System.Net.Http : \u63d0\u4f9b\u7528\u4e8e\u73b0\u4ee3 HTTP \u5e94\u7528\u7a0b\u5e8f\u7684\u7f16\u7a0b\u63a5\u53e3\u3002<\/li><li>System.Xaml : \u63d0\u4f9b\u4e0e XAML \u8bfb\u53d6\u5668\u548c XAML \u7f16\u5199\u5668\u76f8\u5173\u7684\u7c7b\u578b\u3002<\/li><li>WindowsBase: Window \u57fa\u7840dll<\/li><li>PresentationCore : \u52a8\u6001\u94fe\u63a5\u6587\u4ef6\u5e93<\/li><li>PresentationFramework : \u52a8\u6001\u94fe\u63a5\u6587\u4ef6\u5e93<\/li><\/ul>\n\n\n\n<p><strong>4. \u9879\u76ee\u6587\u4ef6\u7684 ItemGroup<\/strong><\/p>\n\n\n\n<p>\u63a5\u7740\u7684\u51e0\u4e2a ItemGroup\u4e3a \u9879\u76ee\u7684\u6587\u4ef6\u7d22\u5f15,\u5305\u542b:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ApplicationDefinition : \u9879\u76ee\u7684Application\u7684 xaml\u548ccs\u6587\u4ef6<\/li><li>Page : \u9879\u76eeUI \u754c\u9762<\/li><li>Properties \u76ee\u5f55\u4e0b\u7684\u6587\u4ef6<\/li><li>App.config \u6587\u4ef6<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5.2 App.config<\/h3>\n\n\n\n<p>\u6253\u5f00 App.config \u6587\u4ef6 \u53ef\u4ee5\u770b\u5230\u4ee5\u4e0b\u5185\u5bb9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"utf-8\" ?&gt;\n&lt;<strong>configuration<\/strong>&gt;\n    &lt;<strong>startup<\/strong>&gt; \n        &lt;<strong>supportedRuntime<\/strong> version=\"v4.0\" sku=\".NETFramework,Version=v4.5\" \/&gt;\n    &lt;\/<strong>startup<\/strong>&gt;\n&lt;\/<strong>configuration<\/strong>&gt;<\/code><\/pre>\n\n\n\n<p>\u914d\u7f6e\u4e86 \u9879\u76ee\u542f\u52a8\u65f6\u6240\u9700\u7684 \u73af\u5883\u4e3a .NETFramework 4.5<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5.3 AssembleInfo.cs<\/h3>\n\n\n\n<p>\u6b64\u6587\u4ef6\u4e3a\u7a0b\u5e8f\u96c6\u7684\u914d\u7f6e\u4fe1\u606f, \u5305\u542b\u5185\u5bb9\u5982\u4e0b:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>using<\/strong> System.Reflection;\n<strong>using<\/strong> System.Resources;\n<strong>using<\/strong> System.Runtime.CompilerServices;\n<strong>using<\/strong> System.Runtime.InteropServices;\n<strong>using<\/strong> System.Windows;\n\n\/\/ \u6709\u5173\u7a0b\u5e8f\u96c6\u7684\u4e00\u822c\u4fe1\u606f\u7531\u4ee5\u4e0b\n\/\/ \u63a7\u5236\u3002\u66f4\u6539\u8fd9\u4e9b\u7279\u6027\u503c\u53ef\u4fee\u6539\n\/\/ \u4e0e\u7a0b\u5e8f\u96c6\u5173\u8054\u7684\u4fe1\u606f\u3002\n&#91;assembly: AssemblyTitle(\"FirstWPF\")]\n&#91;assembly: AssemblyDescription(\"\")]\n&#91;assembly: AssemblyConfiguration(\"\")]\n&#91;assembly: AssemblyCompany(\"\")]\n&#91;assembly: AssemblyProduct(\"FirstWPF\")]\n&#91;assembly: AssemblyCopyright(\"Copyright \u00a9  2020\")]\n&#91;assembly: AssemblyTrademark(\"\")]\n&#91;assembly: AssemblyCulture(\"\")]\n\n\/\/ \u5c06 ComVisible \u8bbe\u7f6e\u4e3a false \u4f1a\u4f7f\u6b64\u7a0b\u5e8f\u96c6\u4e2d\u7684\u7c7b\u578b\n\/\/\u5bf9 COM \u7ec4\u4ef6\u4e0d\u53ef\u89c1\u3002\u5982\u679c\u9700\u8981\u4ece COM \u8bbf\u95ee\u6b64\u7a0b\u5e8f\u96c6\u4e2d\u7684\u7c7b\u578b\n\/\/\u8bf7\u5c06\u6b64\u7c7b\u578b\u7684 ComVisible \u7279\u6027\u8bbe\u7f6e\u4e3a true\u3002\n&#91;assembly: ComVisible(false)]\n\n\/\/\u82e5\u8981\u5f00\u59cb\u751f\u6210\u53ef\u672c\u5730\u5316\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u8bf7\u8bbe\u7f6e\n\/\/.csproj \u6587\u4ef6\u4e2d\u7684 &lt;UICulture&gt;CultureYouAreCodingWith&lt;\/UICulture&gt;\n\/\/\u4f8b\u5982\uff0c\u5982\u679c\u60a8\u5728\u6e90\u6587\u4ef6\u4e2d\u4f7f\u7528\u7684\u662f\u7f8e\u56fd\u82f1\u8bed\uff0c\n\/\/\u4f7f\u7528\u7684\u662f\u7f8e\u56fd\u82f1\u8bed\uff0c\u8bf7\u5c06 &lt;UICulture&gt; \u8bbe\u7f6e\u4e3a en-US\u3002  \u7136\u540e\u53d6\u6d88\n\/\/\u5bf9\u4ee5\u4e0b NeutralResourceLanguage \u7279\u6027\u7684\u6ce8\u91ca\u3002  \u66f4\u65b0\n\/\/\u4ee5\u4e0b\u884c\u4e2d\u7684\u201cen-US\u201d\u4ee5\u5339\u914d\u9879\u76ee\u6587\u4ef6\u4e2d\u7684 UICulture \u8bbe\u7f6e\u3002\n\n\/\/&#91;assembly: NeutralResourcesLanguage(\"en-US\", UltimateResourceFallbackLocation.Satellite)]\n\n\n&#91;assembly: ThemeInfo(\n    ResourceDictionaryLocation.None, \/\/\u4e3b\u9898\u7279\u5b9a\u8d44\u6e90\u8bcd\u5178\u6240\u5904\u4f4d\u7f6e\n                                     \/\/(\u672a\u5728\u9875\u9762\u4e2d\u627e\u5230\u8d44\u6e90\u65f6\u4f7f\u7528\uff0c\n                                     \/\/\u6216\u5e94\u7528\u7a0b\u5e8f\u8d44\u6e90\u5b57\u5178\u4e2d\u627e\u5230\u65f6\u4f7f\u7528)\n    ResourceDictionaryLocation.SourceAssembly \/\/\u5e38\u89c4\u8d44\u6e90\u8bcd\u5178\u6240\u5904\u4f4d\u7f6e\n                                              \/\/(\u672a\u5728\u9875\u9762\u4e2d\u627e\u5230\u8d44\u6e90\u65f6\u4f7f\u7528\uff0c\n                                              \/\/\u3001\u5e94\u7528\u7a0b\u5e8f\u6216\u4efb\u4f55\u4e3b\u9898\u4e13\u7528\u8d44\u6e90\u5b57\u5178\u4e2d\u627e\u5230\u65f6\u4f7f\u7528)\n)]\n\n\n\/\/ \u7a0b\u5e8f\u96c6\u7684\u7248\u672c\u4fe1\u606f\u7531\u4e0b\u5217\u56db\u4e2a\u503c\u7ec4\u6210: \n\/\/\n\/\/      \u4e3b\u7248\u672c\n\/\/      \u6b21\u7248\u672c\n\/\/      \u751f\u6210\u53f7\n\/\/      \u4fee\u8ba2\u53f7\n\/\/\n\/\/\u53ef\u4ee5\u6307\u5b9a\u6240\u6709\u8fd9\u4e9b\u503c\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u201c\u751f\u6210\u53f7\u201d\u548c\u201c\u4fee\u8ba2\u53f7\u201d\u7684\u9ed8\u8ba4\u503c\n\/\/\u901a\u8fc7\u4f7f\u7528 \"*\"\uff0c\u5982\u4e0b\u6240\u793a:\n\/\/ &#91;assembly: AssemblyVersion(\"1.0.*\")]\n&#91;assembly: AssemblyVersion(\"1.0.0.0\")]\n&#91;assembly: AssemblyFileVersion(\"1.0.0.0\")]<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5.4 App.xaml\u548cApp.xaml.cs<\/h3>\n\n\n\n<p>\u6b64\u6587\u4ef6\u4e3a Application \u7684\u5b50\u7c7b, \u7ee7\u627f\u9ed8\u8ba4\u7684WPF\u9879\u76ee\u7c7b\u5185\u5bb9, \u540c\u65f6\u53ef\u4ee5\u6269\u5c55\u81ea\u5df1\u7684\u914d\u7f6e, \u7c7b\u4f3c\u4e8e Android \u4e2d\u7684 Application \u7c7b. \u5176\u5185\u5bb9\u5982\u4e0b:<\/p>\n\n\n\n<p><strong>App.xaml<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;<strong>Application<\/strong> x:Class=\"FirstWPF.App\"\n             xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n             xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n             xmlns:local=\"clr-namespace:FirstWPF\"\n             StartupUri=\"MainWindow.xaml\"&gt;\n    &lt;<strong>Application.Resources<\/strong>&gt;\n         \n    &lt;\/<strong>Application.Resources<\/strong>&gt;\n&lt;\/<strong>Application<\/strong>&gt;<\/code><\/pre>\n\n\n\n<p>\u5728 Appli.Resources Tag\u91cc\u9762\u53ef\u4ee5\u914d\u7f6e \u9879\u76ee\u7ea7\u522b\u7684\u8d44\u6e90\u5f15\u7528.<\/p>\n\n\n\n<p><strong>App.xaml.cs<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>namespace<\/strong> <strong>FirstWPF<\/strong>\n{\n    <strong>\/\/\/<\/strong> <strong>&lt;summary&gt;<\/strong>\n    <strong>\/\/\/<\/strong> App.xaml \u7684\u4ea4\u4e92\u903b\u8f91\n    <strong>\/\/\/<\/strong> <strong>&lt;\/summary&gt;<\/strong>\n    <strong>public<\/strong> <strong>partial<\/strong> <strong>class<\/strong> <strong>App<\/strong> : <strong>Application<\/strong>\n    {\n    }\n}<\/code><\/pre>\n\n\n\n<p>\u6b64\u7c7b\u4e2d\u53ef\u4ee5\u76d1\u542c\u5e94\u7528\u7684\u542f\u52a8, \u5173\u95ed\u7b49\u56de\u8c03:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>namespace<\/strong> <strong>FirstWPF<\/strong>\n{\n    <strong>\/\/\/<\/strong> <strong>&lt;summary&gt;<\/strong>\n    <strong>\/\/\/<\/strong> App.xaml \u7684\u4ea4\u4e92\u903b\u8f91\n    <strong>\/\/\/<\/strong> <strong>&lt;\/summary&gt;<\/strong>\n    <strong>public<\/strong> <strong>partial<\/strong> <strong>class<\/strong> <strong>App<\/strong> : <strong>Application<\/strong>\n    {\n        <strong>protected<\/strong> <strong>override<\/strong> <strong>void<\/strong> <strong>OnStartup<\/strong>(StartupEventArgs e)\n        {\n            <strong>base<\/strong>.OnStartup(e);\n        }\n\n        <strong>protected<\/strong> <strong>override<\/strong> <strong>void<\/strong> <strong>OnExit<\/strong>(ExitEventArgs e)\n        {\n            <strong>base<\/strong>.OnExit(e);\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">5.5 MainWindow \u6587\u4ef6<\/h3>\n\n\n\n<p>\u6b64\u6587\u4ef6 \u4e3a\u9ed8\u8ba4\u7684\u7b2c\u4e00\u4e2a\u754c\u9762\u7684\u4ee3\u7801, \u5176\u5e03\u5c40\u6587\u4ef6\u4e3a\u53ea\u5305\u542bGrid \u7684\u7a7a\u5e03\u5c40:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;<strong>Window<\/strong> x:Class=\"FirstWPF.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        xmlns:d=\"http:\/\/schemas.microsoft.com\/expression\/blend\/2008\"\n        xmlns:mc=\"http:\/\/schemas.openxmlformats.org\/markup-compatibility\/2006\"\n        xmlns:local=\"clr-namespace:FirstWPF\"\n        mc:Ignorable=\"d\"\n        Title=\"MainWindow\" Height=\"450\" Width=\"800\"&gt;\n    &lt;<strong>Grid<\/strong>&gt;\n        \n    &lt;\/<strong>Grid<\/strong>&gt;\n&lt;\/<strong>Window<\/strong>&gt;<\/code><\/pre>\n\n\n\n<p>\u5bf9\u5e94\u7684\u4ee3\u7801\u6587\u4ef6\u5305\u542b\u4e86\u521d\u59cb\u5316\u5904\u7406:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>namespace<\/strong> <strong>FirstWPF<\/strong>\n{\n    <strong>\/\/\/<\/strong> <strong>&lt;summary&gt;<\/strong>\n    <strong>\/\/\/<\/strong> MainWindow.xaml \u7684\u4ea4\u4e92\u903b\u8f91\n    <strong>\/\/\/<\/strong> <strong>&lt;\/summary&gt;<\/strong>\n    <strong>public<\/strong> <strong>partial<\/strong> <strong>class<\/strong> <strong>MainWindow<\/strong> : <strong>Window<\/strong>\n    {\n        <strong>public<\/strong> <strong>MainWindow<\/strong>()\n        {\n            InitializeComponent();\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6. \u540e\u8bb0<\/h2>\n\n\n\n<p>\u81f3\u6b64, WPF\u9879\u76ee\u7684\u57fa\u672c\u7ed3\u6784\u8bf4\u660e\u5c31\u5230\u6b64, \u540e\u7eed\u6839\u636e\u9879\u76ee\u9700\u8981\u53ef\u4ee5\u589e\u52a0\u4fee\u6539\u6587\u4ef6\u548c\u5185\u5bb9, \u5982\u6dfb\u52a0 \u591a\u4e2a\u8d44\u6e90\u6587\u4ef6\u53c2\u89c1\u53e6\u4e00\u7bc7\u6587\u7ae0:&nbsp;<a href=\"http:\/\/blog.devwiki.net\/index.php\/2019\/12\/31\/add-resources-Dictionary-in-wpf-application-project.html\" target=\"_blank\" rel=\"noreferrer noopener\">WPF APP\u9879\u76ee\u6dfb\u52a0\u8d44\u6e90\u6587\u4ef6\u5939 &#8211; DevWiki<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>1. \u6982\u8981 \u5b66\u4e60\u4e00\u79cd\u65b0\u7684\u67b6\u6784, &#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":1536,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,36,35],"tags":[],"class_list":["post-1541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c","category-wpf","category-xaml"],"_links":{"self":[{"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/posts\/1541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/comments?post=1541"}],"version-history":[{"count":0,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/posts\/1541\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/media?parent=1541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/categories?post=1541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanlangcode.com\/index.php\/wp-json\/wp\/v2\/tags?post=1541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}