Ant*_*ien 29 expression-blend expression-blend-3 expression-blend-4
我正在尝试使用Blend 3.0来编辑包含一些WPF控件的项目.该项目已经从Visual Studio 2008编译并运行良好.
然而,在Blend中,我遇到了一些毫无意义的神秘错误:
例如,我有一个派生自Control的类:
namespace Company.WPFControls.SearchTextBox
{
public class SearchTextBox : Control
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试在同一个程序集中的资源中使用它来分配样式:
<ResourceDictionary
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:Company.WPFControls.SearchTextBox"
<Style TargetType="{x:Type local:SearchTextBox}">
...
</Style>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)
我在Blend中收到以下错误:
名称"SearchTextBox"在命名空间"clr-namespace:Company.WPFControls.SearchTextBox"中不存在.
我已经尝试通过添加指定程序集名称,;assembly=Company.WPFControls但它不会删除错误.
有没有办法解决这个问题,或者至少找出问题的来源?
Fra*_*kyB 30
在Windows Vista 64上,我遇到了与Blend 2相同的问题.
我通常在VS2008中编译我的解决方案,在我的所有项目中都有一个"Debug-x86"目标,因此它与其他一些32位项目兼容.
看起来Blend喜欢"Debug - Any CPU"目标.我基本上改变了我的配置管理器,以便它针对任何CPU平台而不是x86.
所以...
我做了相反的事情以验证它是否真的那样,而且似乎是......我只是将解决方案更改回Debug-x86,清理了所有内容,然后重新编译,我仍然回复了错误"不存在[ ...]"
至于"为什么?"......我不知道,但至少它现在有效!
小智 16
问题出在Blend程序集搜索路径中.默认情况下,它会在文件夹"bin\Debug"中的程序集中搜索类!但是如果你在项目配置目标x86中设置,那么你的输出路径将是"bin\x86\Debug".因此,您需要将visual studio中的输出路径更改为"bin\Debug",Blend将找到您的所有类!
sco*_*obi 13
我认为Blend使用项目文件中定义的默认配置/平台.您应该可以通过使用文本文件进行编辑来解决此问题.如果查看.csproj文件,您应该看到如下内容:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
...
Run Code Online (Sandbox Code Playgroud)
将AnyCPU更改为x86,它应该按照您期望的方式工作.
| 归档时间: |
|
| 查看次数: |
7816 次 |
| 最近记录: |