【发布时间】:2018-10-29 12:42:09
【问题描述】:
我正在制作一个以 WPF 窗口为界面的 AutoCAD .net 程序。目前 WPF 接口被引用到 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 中运行“启动”命令时使用静态资源,程序无法找到静态资源。我不确定如何使用 C# 代码获取 WPFWindow 的实例来查找资源。作为测试,我添加了 WPFWindow 作为对 WPF 应用程序的引用,并设法让它使用 Pack URI 找到资源
<ResourceDictionary Source="pack://application:,,,/WPFWindow;component/Themes/Styles.xaml"/>
是否有可以用于 WPFWindow.MainWindow 实例的 C# 等效项?
【问题讨论】:
标签: c# wpf dll autocad-plugin