gpt4 book ai didi

c# - 向 WPF 窗口实例添加资源

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:30 24 4
gpt4 key购买 nike

我正在制作一个以 WPF 窗口作为界面的 AutoCAD .net 程序。目前,WPF 接口(interface)被引用到 AutoCAD .net 应用程序中,我正在从 AutoCAD 中调用窗口,如下所示。

public class Class1
{
public static WPFWindow.MainWindow mainWindow = new WPFWindow.MainWindow();

[CommandMethod("Launch", CommandFlags.Session)]

public void Launch()
{
Autodesk.AutoCAD.ApplicationServices.Application.ShowModalWindow(mainWindow);

}
}

在我开始将任何形式的资源添加到我正在添加的 WPF 窗口之前,这工作正常。例如,以下工作直到

<Window x:Class="WPFWindow.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WPFWindow"
mc:Ignorable="d"
Title="Test" Height="450" Width="800"
WindowStyle="None"
AllowsTransparency="True"
>
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>

<ResourceDictionary Source="Themes/Styles.xaml"/>

</ResourceDictionary.MergedDictionaries>

</ResourceDictionary>

</Window.Resources>

<Grid>
<Button Content="Press Me"/>

</Grid>

....我为窗口引用了静态资源样式

WindowStyle="None"
AllowsTransparency="True"
Style="{StaticResource MainWindow}"
>

对于静态资源,当我在 AutoCAD 中运行“启动”命令时,程序无法找到静态资源。我不确定如何获取 WPFWindow 的实例以使用 C# 代码查找资源。作为测试,我添加了 WPFWindow 作为对 WPF 应用程序的引用,并设法让它使用 Pack URI 找到资源

    <ResourceDictionary Source="pack://application:,,,/WPFWindow;component/Themes/Styles.xaml"/>

是否有我可以用于 WPFWindow.MainWindow 实例的 C# 等价物?

最佳答案

我设法通过将资源添加到我在其代码隐藏文件中引用的窗口来让它工作。

namespace WPFWindow
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
this.Resources.Source = new Uri(@"pack://application:,,,/WPFWindow;component/Themes/Styles.xaml"", UriKind.Absolute);
InitializeComponent();
}
}

我认为这允许在为窗口调用静态资源之前加载静态资源。

关于c# - 向 WPF 窗口实例添加资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50422063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com