我刚刚开始在一个WinUi 3(桌面)项目上工作,试图将Windows资源添加到Windows时遇到了阻碍。我本以为以下方法会奏效。但是,似乎没有Resources属性。
<Window.Resources> </Window.Resources>
zphenhs41#
显然,这是一个设计选择,引用微软成员Miguel的话,来自Github问题:[...]例如,Windows对象没有像WPF那样Resource属性。这是一个设计的决定[…]另一种方法是在组件的上下文中使用字典,例如:
<ListView> <ListView.Resources> <!-- My resources --> </ListView.Resources> </ListView>
jxct1oxe2#
您可以在窗口的根控件中声明资源。
<Window ...> <Border ...> <Border.Resources> <Style TargetType="Button"> <Setter Property="Margin" Value="10"/> </Style> </Border.Resources> <Button ... /> </Border> </Window>
wz1wpwve3#
你是对的-没有窗口资源。您可以通过制作App资源来拥有全局共享资源,也可以拥有<page>和<Control>级别的资源。您可能需要在App.xml中定义资源字典
<page>
<Control>
<Application x:Class="BOMCheck.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:converters="using:CommunityToolkit.WinUI.UI.Converters" xmlns:helpers="using:BOMCheck.Helpers" xmlns:local="using:BOMCheck" xmlns:media="using:Microsoft.UI.Xaml.Media" RequestedTheme="Light"> <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries>
3条答案
按热度按时间zphenhs41#
显然,这是一个设计选择,引用微软成员Miguel的话,来自Github问题:
[...]例如,Windows对象没有像WPF那样Resource属性。这是一个设计的决定[…]
另一种方法是在组件的上下文中使用字典,例如:
jxct1oxe2#
您可以在窗口的根控件中声明资源。
wz1wpwve3#
你是对的-没有窗口资源。您可以通过制作App资源来拥有全局共享资源,也可以拥有
<page>
和<Control>
级别的资源。您可能需要在App.xml中定义资源字典