首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏林德熙的博客

    win10 uwp 后台获取资源

    如果一个资源写在 App.xaml 那么整个程序都可以用,而且这个资源不会被释放。所以如果想在 App.xaml 使用资源,请小心。如果资源太多,会让软件的启动速度变慢。 另外,请不要直接把资源写在 App.xaml ,建议是写在一个资源文件,然后在 App.xaml 使用 Merge 的方式。

    49210编辑于 2022-08-04
  • 来自专栏林德熙的博客

    Roslyn 如何在 Target 引用 xaml 防止文件没有编译

    BemateRaimarhas.AssemblyInfo.cs EmbeddedResource 嵌入资源 Properties\Resources.resx None 无编译文件 App.config App.xaml 也就是用户可以删除这个文件夹,一旦这个文件夹删了,那么文件夹里面的文件也就是无法编译通过,这时小伙伴就会过来打我 <Page Include="<em>App.xaml</em>" SubType="Designer 需要包含一个 Name 所以我就写出下面代码 <Target Name="MoqakermirLaqouLurter"> <ItemGroup> <Page Include="<em>App.xaml</em> Target Name="MoqakermirLaqouLurter" BeforeTargets="CoreCompile"> <ItemGroup> <Page Include="<em>App.xaml</em> 如使用下面的代码,即使设置 MainWindow.xaml 不可见,但是用户还是可以在 VisualStudio 看到一个空文件夹 <ItemGroup> <Page Include="App.xaml

    1.5K10发布于 2018-09-19
  • 来自专栏蔻丁杂记

    使用 Hosting 构建 WPF 程序 - prism 篇

    >App.xaml</DependentUpon> </Compile> </ItemGroup> </Project> 将 App.xaml 从 ApplicationDefinition 修改为 下面这里的修改,只是增加了两个文件,App.static.cs 和 App.startup.cs,让他们看起来属于 App.xaml,具体内容见后面。 <ItemGroup> <Compile Update="App.startup.cs"> <DependentUpon>App.xaml</DependentUpon> </Compile> <Compile Update="App.static.cs"> <DependentUpon>App.xaml</DependentUpon> </Compile></ItemGroup> 同时,App.xaml 内的 App,需要修改成 PrismApplication <prism:PrismApplication x:Class="WpfAppPrismT1.App"

    74010编辑于 2024-12-25
  • 来自专栏林德熙的博客

    win10 uwp 反射

    如果一个资源写在 App.xaml 那么整个程序都可以用,而且这个资源不会被释放。所以如果想在 App.xaml 使用资源,请小心。如果资源太多,会让软件的启动速度变慢。 另外,请不要直接把资源写在 App.xaml ,建议是写在一个资源文件,然后在 App.xaml 使用 Merge 的方式。

    26610编辑于 2022-08-04
  • 来自专栏林德熙的博客

    WPF 已知问题 资源字典树引用与资源寻找的坑

    也就是说,如果正常的做,是不会踩到坑的,只有在进行不良设计时才会踩坑 在 App.xaml 里面是作为资源字典的引用的 Root 最顶层,基础玩法都是在 App.xaml 引用其他资源字典,引用顺序基本上基础库 此时如果让 DictionaryB 通过 MergedDictionaries 的方式引用 DictionaryC 字典,将存在一个性能问题,那就是在创建资源的时候,如果在 App.xaml 里面也引用了 一次是在 App.xaml 里面的,一次是在被 DictionaryB 的 MergedDictionaries 创建的,换句话说将会让 DictionaryC 里面的对象重复两次定义,占用资源也添加了启动时间 常用的优化方式就是只在 App.xaml 引用 DictionaryC 即可,不在 DictionaryB 里面加上引用。 利用 DynamicResourceExtension 会自动更新的机制,在 App.xaml 初始化资源字典的时候,实际访问将会重新去 App.xaml 寻找,从而找到资源 更改 DictionaryB.xaml

    1.3K10编辑于 2022-08-12
  • 来自专栏林德熙的博客

    WPF 程序生成类库错误

    把WPF程序输出改为类库,报错 库项目文件无法指定 ApplicationDefinition 元素 项目文件包含无效的属性值 出现这个错误是因为 app.xaml 的生成是 ApplicationDefinition ,所以可以右击项目的 app.xaml 文件,在属性生成选择 page ?

    91210发布于 2018-09-19
  • 来自专栏历史专栏

    【愚公系列】2022年01月 WPF控件专题 WPF应用程序组成

    文章目录 一、WPF组成 二、WPF应用程序组成 三、App.xaml组成 ---- 一、WPF组成 Windows Presentation Foundation 由两个主要部分组成:引擎和编程框架。 二、WPF应用程序组成 app.config 配置文件 连接字符串 配置信息 App.xaml 设置应用程序起始文件,系统级资源 App.xaml.cs app.xaml文件的后台类文件 MainWindow.xaml Window ----WPF应用程序界面与Xaml设计文件 MainWindow.xaml.cs —xaml窗口文件的后台代码文件 三、App.xaml组成 StartupUri=“MainWindow.xaml

    74220编辑于 2022-12-01
  • 来自专栏JusterZhu

    WPF开源控件扩展库 - MaterialDesignExtensions

    开始 创建WPF桌面应用程序 通过NuGet安装Material Design Extensions 在你的App.xaml文件中添加样式(参考demo中的App.xaml) 在你的XAML文件中添加命名空间 请根据Demo的App.xaml修改配置。

    96620编辑于 2022-12-07
  • 来自专栏林德熙的博客

    WPF 讲讲 Microsoft.NET.Sdk.WindowsDesktop 的原理

    文件用来定义属性,而 targets 文件用来定义执行逻辑 下面从 props 文件开始讲,在 Microsoft.NET.Sdk.WindowsDesktop.props 的功能分为以下部分 定义引用 App.xaml 这两个属性有一个细节就是 Condition 判断的代码,如果用户在自己的 csproj 文件里面更改了这个属性的值,那么这两个属性将不会在这里赋值,所以上面代码只是默认值 接下来就是定义 App.xaml = 'false' And Exists('$(MSBuildProjectDirectory)/App.xaml') And '$(MSBuildProjectExtension)' == '.csproj " 就引用了 App.xaml 文件作为 ApplicationDefinition 也就是应用的定义。 这个文件的引用有以下要求 存在这个 App.xaml 文件夹 用户没有设置 EnableDefaultApplicationDefinition 为false也就是不添加默认的文件 这个项目是 csproj

    1.8K10发布于 2020-03-23
  • 来自专栏林德熙的博客

    dotnetCampus.UITest.WPF 一个支持中文用例的界面单元测试框架

    " /> </ItemGroup> <ItemGroup> <Page Include="<em>App.xaml</em>"> <SubType>Designer</SubType> <Generator>MSBuild:Compile</Generator> </Page> </ItemGroup> 以上对 App.xaml 的修复非必须,只有你的单元测试项目里面包含了 App.xaml 才有此需求。 对于大部分的 UI 单元测试项目来说,都不会也不应该包含 App.xaml 文件,除非这是针对 WPF 的 UI 类库的单元测试。 " /> </ItemGroup> <ItemGroup> <Page Include="<em>App.xaml</em>"> <SubType>Designer</SubType>

    1.5K30编辑于 2022-01-25
  • 来自专栏林德熙的博客

    Roslyn 如何在 Target 引用 xaml 防止文件没有编译

    BemateRaimarhas.AssemblyInfo.cs EmbeddedResource 嵌入资源 Properties\Resources.resx None 无编译文件 App.config App.xaml 也就是用户可以删除这个文件夹,一旦这个文件夹删了,那么文件夹里面的文件也就是无法编译通过,这时小伙伴就会过来打我 <Page Include="<em>App.xaml</em>" SubType="Designer 需要包含一个 Name 所以我就写出下面代码 <Target Name="MoqakermirLaqouLurter"> <ItemGroup> <Page Include="<em>App.xaml</em> Target Name="MoqakermirLaqouLurter" BeforeTargets="CoreCompile"> <ItemGroup> <Page Include="<em>App.xaml</em> 如使用下面的代码,即使设置 MainWindow.xaml 不可见,但是用户还是可以在 VisualStudio 看到一个空文件夹 <ItemGroup> <Page Include="App.xaml

    1.1K20编辑于 2022-08-04
  • 来自专栏林德熙的博客

    win10 uwp 后台获取资源

    如果一个资源写在 App.xaml 那么整个程序都可以用,而且这个资源不会被释放。所以如果想在 App.xaml 使用资源,请小心。如果资源太多,会让软件的启动速度变慢。 另外,请不要直接把资源写在 App.xaml ,建议是写在一个资源文件,然后在 App.xaml 使用 Merge 的方式。

    73210发布于 2018-09-19
  • 来自专栏蔻丁杂记

    使用 Hosting 构建 WPF 程序 - Stylet 篇

    PackageReference Include="Microsoft.Extensions.Hosting" Version="9.0.0-rc.2.24473.5" /> </ItemGroup> 2 修改 App.xaml 因为要手动使用 Main 函数,不使用默认的 App 的加载,需要将 App.xaml 从 ApplicationDefinition 修改成 Page。 // csproj <ItemGroup> <ApplicationDefinition Remove="<em>App.xaml</em>" /> <Page Include="<em>App.xaml</em>" /> </ItemGroup> 删除 App.xaml 中的 StartUrl,修改成 Stylet 的 ApplicationLoader // App.xaml<Application x:Class

    42200编辑于 2024-12-25
  • 来自专栏walterlv - 吕毅的博客

    .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换

    Reference Include="WindowsBase" /> </ItemGroup> <ItemGroup> <ApplicationDefinition Include="<em>App.xaml</em> " SubType="Designer" Generator="MSBuild:Compile" /> <Page Include="**\*.xaml" Exclude="<em>App.xaml</em>" 这两个 App 类可以共用一个 App.xaml 文件。 " SubType="Designer" Generator="MSBuild:Compile" /> <Page Include="**\*.xaml" Exclude="<em>App.xaml</em> /> + <Compile Remove="App.new.xaml.cs" /> + <Compile Include="$(AppCsPath)" DependentUpon="<em>App.xaml</em>

    1.6K10编辑于 2023-10-22
  • 来自专栏林德熙的博客

    WPF 托盘显示 NotifyIcon WPF

    因为托盘是程序的托盘,不是窗口的,所以推荐代码是写在 App.xaml.cs 里面 先创建一个托盘的界面,界面在 App.xaml 创建 托盘是需要图标的,可以从 Iconfont-阿里巴巴矢量图标库 在 App.xaml 定义资源 TaskbarIcon 请看代码 <Application x:Class="HouneaLeabeltezairKayballjachall.App" 在 App.xaml 去掉默认打开 MainWindow 需要找到下面的代码 StartupUri="MainWindow.xaml" 现在尝试不让默认打开 MainWindow 运行软件,可以看到托盘显示图标 ,双击图标才可以打开界面 如果要右击显示菜单,需要在 App.xaml 添加定义 <ContextMenu x:Shared="false" x:Key="SysTrayMenu"> 默认的软件设置是关闭最后一个窗口的时候应用就关闭,通过设置 App.ShutdownMode 可以在调用退出才关闭,打开 App.xaml 添加代码 ShutdownMode="OnExplicitShutdown

    8.4K31发布于 2019-03-13
  • 来自专栏CSharp编程大全

    WPF开源控件扩展库 - MaterialDesignExtensions

    NuGet安装Material Design Extensions 在你的App.xaml文件中添加样式(参考demo中的? App.xaml) 在你的XAML文件中添加命名空间 xmlns:controls="clr-namespace:MaterialDesignExtensions.Controls;assembly=MaterialDesignExtensions App.xaml修改配置。 控件 Material Design Extensions具有以下控件: Control Details Status ?

    1.4K10发布于 2020-12-29
  • 来自专栏CSharp编程大全

    WPF XAML 为项目设置全局样式

    全局资源样式属性 App.xaml <Application.Resources> <ResourceDictionary>
    <ResourceDictionary.MergedDictionaries (例如按钮,统一高宽,字体,字体大小,然后申明到独立的资源字典中, 在App.xaml中引用) 2.头部资源引用情况用于 不同 Window 适应不同主题或者风格的情况。 (例如播放器的旋转控件,只有一个页面用到,只需要在Window级引用对应资源字典) 不放在App.xaml原因是为了降低内存消耗。 3.App.xaml 里面的资源引用适用于全局资源。 --<Setter Property="Background" Value="Red"/>--> </Style> </ResourceDictionary> App.xaml <Application

    2.3K41发布于 2021-10-19
  • 来自专栏全栈程序员必看

    WPF 教程(wpf架构)

    App.xaml包含了像窗口或者其他WPF控件那样的资源,如果你把这些资源放到App.xaml中,那么这些资源就能被全局访问了。工作情况和窗口中的一样。 ComboBoxTitle">Items:</sys:String> </Application.Resources></Application> WPF自动逐级向上搜索,从本地控件到整个窗口,再到App.xaml App.xaml<Application x:Class="WpfTutorialSamples.App" xmlns 放在三个不同的地方:App.xaml、窗口内部、本地panel。界面包含一个按钮和一个listbox。 在后台代码,我们处理按钮的点击事件,将三个不同地方的 “Hello, world!”

    2.5K10编辑于 2022-07-31
  • 来自专栏林德熙的博客

    Visual Studio 自定义项目模板

    然后就是项目包含文件,如 App.xaml <ProjectItem ReplaceParameters="true" TargetFileName="<em>App.xaml</em>">App.xaml</ProjectItem > 上面代码意识:从本地找到App.xaml文件,放在新建项目的App.xaml

    1.8K20编辑于 2022-08-07
  • 来自专栏林德熙的博客

    WPF 程序生成类库错误

    把WPF程序输出改为类库,报错 库项目文件无法指定 ApplicationDefinition 元素 项目文件包含无效的属性值 出现这个错误是因为 app.xaml 的生成是 ApplicationDefinition ,所以可以右击项目的 app.xaml 文件,在属性生成选择 page ?

    1.1K10发布于 2019-03-13
领券