在设计时混合3罐';找不到我的转换器/资源。(WPF)
我在visual studio解决方案中使用Blend时遇到问题 在运行时和编译时,一切都很好 正如您在图中所看到的,Blend敦促我构建项目,但它并没有改变这种情况,即使在成功构建、重建、清理和构建之后,它仍然是一样的,UI从设计器中被阻止 有什么想法吗 编辑:拼写错误已修复,问题仍然存在 转换器代码:在设计时混合3罐';找不到我的转换器/资源。(WPF),wpf,expression-blend,blend,expression-blend-3,Wpf,Expression Blend,Blend,Expression Blend 3,我在visual studio解决方案中使用Blend时遇到问题 在运行时和编译时,一切都很好 正如您在图中所看到的,Blend敦促我构建项目,但它并没有改变这种情况,即使在成功构建、重建、清理和构建之后,它仍然是一样的,UI从设计器中被阻止 有什么想法吗 编辑:拼写错误已修复,问题仍然存在 转换器代码: namespace BlendTest { public class TestConvert : IValueConverter { #region IVa
namespace BlendTest
{
public class TestConvert : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return ((bool)value) ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
#endregion
}
}
<Window
x:Class="XP2Win7.UserInterface.ImageViewer.MainView.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:BlendTest"
WindowState="Maximized"
WindowStartupLocation="CenterScreen"
Background="Transparent"
Title="Test">
<Window.Resources>
<local:TestConvert x:Key="TestConvert"/>
</Window.Resources>
<Grid x:Name="RootLayout" >
<TextBlock Text="Hello" Visibility="{Binding IsMargol, Converter={StaticResource TestConvert}}" FontSize="48" FontWeight="Bold" />
</Grid>
</Window>
名称空间混合测试
{
公共类TestConvert:IValueConverter
{
#区域转换器成员
公共对象转换(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
返回((bool)值)?可见性。可见:可见性。折叠;
}
公共对象转换回(对象值、类型targetType、对象参数、System.Globalization.CultureInfo区域性)
{
抛出新的NotImplementedException();
}
#端区
}
}
谢谢
Ariel看起来您的XAML中有打字错误:
Alubm
代替Album
和BlendTest
代替BlendTest
我猜这些错误实际上是真正的编译器错误,纠正上面的两个错误很可能会“修复”设计者
编辑: 我看到的最有可能的候选者是转换器位于与XAML文件不同的项目中(但在同一个解决方案中)。如果是这种情况,请确保在XAML声明中指定程序集,并确保正确引用其他项目(使用BlendTest)。即:
xmlns:local="clr-namespace:BlendTest;assembly:BlendTest"
如果您引用的是在不同项目中定义的类型(具有命名空间),则程序集引用也需要存在。好吧,但我仍然不知道问题的原因 解决混乱的办法如下:
- 右键单击VS项目
- 卸下
- 右键单击并编辑.csproj文件
- 确保“平台”设置为正确的平台