乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 97|回复: 4

Wpf调色板背景是黑色的

[复制链接]

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2011-11-10 19:53:29 | 显示全部楼层 |阅读模式
我一直在玩自定义调色板,看看什么会与我的下一个头发纹理的想法。当我将winform用户控件添加到调色板时,一切看起来都像预期的那样,当添加wpf用户控件时,背景是全黑的。按钮或我添加的任何东西看起来都很好,只是背景。下面是我正在使用的代码:
  1. using Autodesk.AutoCAD.Runtime;
  2. using Autodesk.AutoCAD.Windows;
  3. [assembly:CommandClass(typeof(Tims_CSharp.CustomPalette))]
  4. namespace Tims_CSharp
  5. {
  6.     class CustomPalette
  7.     {
  8.         public PaletteSet myPaletteSet;
  9.         public PaletteControl controlPalette;
  10.         public wpfPalControl wpfPalette;
  11.         [CommandMethod("palSet")]
  12.         public void SamplePalette()
  13.         {
  14.             if (myPaletteSet == null)
  15.             {
  16.                 myPaletteSet = new PaletteSet("MyPalette", new System.Guid("ABF3806E-DA13-4827-80FB-29D3F10952BE"));
  17.                 controlPalette = new PaletteControl();
  18.                 wpfPalette = new wpfPalControl();
  19.                 myPaletteSet.Add("Custom Palette", controlPalette);
  20.                 myPaletteSet.AddVisual("WPF Palette", wpfPalette);
  21.             }
  22.             myPaletteSet.Visible = true;
  23.             
  24.         }
  25.     }
  26. }

我正在使用vs2010和AutoCAD 2012。
知道为什么会这样吗?再次感谢,
蒂姆

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
331
发表于 2011-11-11 13:49:04 | 显示全部楼层
可能是因为WPF用于其他东西,比如网站,默认情况下它有一个透明的背景?如果AutoCAD中有白色背景,则颜色是否为白色
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2011-11-13 16:11:47 | 显示全部楼层
请参阅Kean Walmsley的博客文章:http://through-the-interface.typepad.com/through_the_interface/2009/08/hosting-wpf-content-inside-an-autocad-palette.html
我没有尝试与你完全相同的方式,但下面是我在上面的帖子中使用的,我没有发现任何外观问题。主要区别在于下面的代码使用elementhost来保存调色板上的WPF控件:
  1.         
  2. UserControl1 uc2 = new UserControl1();  //WPF User control
  3. ElementHost host = new ElementHost();
  4. host.AutoSize = true;
  5. host.Dock = DockStyle.Fill;
  6. host.Child = uc2;
  7. _ps.Add("Add ElementHost", host);  //

回复

使用道具 举报

1

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2011-11-13 20:20:29 | 显示全部楼层
我试着改变AutoCAD的背景颜色。没什么区别。
tonofsteel -这就对了,谢谢。
回复

使用道具 举报

0

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
2
发表于 2021-9-9 17:15:26 | 显示全部楼层
为了跟进这篇文章,我在使用WPF作为AddVisual()或使用ElementHost()时遇到了相同的问题,正如本文中的博客文章所述。两者都不作为透明背景,继承了基于主题“亮/暗”的默认调色板颜色
我找到了另一种解决方案,将调色板颜色设置为与主题相同,并将其发布在这里:
https://www.theswamp.org/index.php?topic=47877.0
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-4 01:00 , Processed in 0.150474 second(s), 62 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表