2013-12-09 3 views
3

У меня есть эта проблема, так что я ничего не вижу во время проектирования WPF.WPF: Не удалось создать экземпляр типа

Вот код WPF на попрошайничество:

<UserControl x:Class="VolumeControlInterface.VolumeControlInterface" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:vtkVC="clr-namespace:VtkVolumeControl;assembly=VtkVolumeControl" 
    xmlns:local="clr-namespace:VolumeControlInterface" 
    Height="700" Width="700" Margin="5" 

Вот мой WPF код пошевелила под:

<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"> 
    <vtkVC:VolumeRenderer Name="VolumeControl" Width="Auto" Height="Auto" Margin="5" Grid.Column="0" 
     LowerThresholdChanA="{Binding Path=BlackPoint0, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     UpperThresholdChanA="{Binding Path=WhitePoint0, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     LowerThresholdChanB="{Binding Path=BlackPoint1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     UpperThresholdChanB="{Binding Path=WhitePoint1, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     LowerThresholdChanC="{Binding Path=BlackPoint2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     UpperThresholdChanC="{Binding Path=WhitePoint2, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     LowerThresholdChanD="{Binding Path=BlackPoint3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     UpperThresholdChanD="{Binding Path=WhitePoint3, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     IsChanASelected="{Binding Path=IsChanASelected, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     IsChanBSelected="{Binding Path=IsChanBSelected, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     IsChanCSelected="{Binding Path=IsChanCSelected, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     IsChanDSelected="{Binding Path=IsChanDSelected, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     DataSpacingZ="{Binding Path=DataSpacingZ, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     DataSpacingZMultiplier="{Binding Path=DataSpacingZMultiplier, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
     FolderDirectory="{Binding Path=ZStackCacheDirectory, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     HardwareSettingsFile="{Binding Path=HardwareSettingsFile, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     TileIndex="{Binding Path=TileIndex, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     WellIndex="{Binding Path=WellIndex, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     TimePointIndex="{Binding Path=TimePointIndex, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" 
     TotalSystemChannels="4" 
     Timepoints="1"> 
    </vtkVC:VolumeRenderer> 
</Grid> 

Этот проект VolumeControlInterface, который импортирует VtkVolumeControl.dll в качестве ссылки из другого проекта. VolumeRenderer - класс в VtkVolumeControl. VtkVolumeControl построен успешно, и весь проект работает без проблем. Просто я не вижу ничего при проектировании VolumeControlInterface, и он говорит: «Не удалось создать экземпляр типа" VolumeRender»

Я попытался:

Удалить VtkVolumeControl и повторно добавить его. Не работает.

Использование if (!System.ComponentModel.DesignerProperties.GetIsInDesignMode(this)) в конструкторе, не работает.

Мне интересно, что здесь происходит, и как я должен сделать дизайн видимым?

EDIT: Я использую VS2008, WINDOWS 7 64BIT

Кроме того, каждый раз, когда я строю vtkVolumeControl.dll, ссылка на VolumeControlInterface покажет предупреждение, говорит, что не может найти vtkVolumeControl.dll; Но если я продолжу строить VolumeControlInterface, то у него не будет никаких проблем, и ему, похоже, удастся найти vtkVolumeControl.dll.

EDIT: Вот как это выглядит: enter image description here

+1

возможно некоторые данные DesignTime ..... проверить эту статью, например - http://blogs.msdn.com/b/wpfsldesigner/archive/2010 /06/30/sample-data-in-the-wpf-and-silverlight-designer.aspx – terrybozzio

+0

Возможно ли, что некоторые из патчей VS, которые я пропустил? –

ответ

0

Что вы хотите достичь с помощью следующей строки?

<Grid DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"> 

потому что вы используете UserControl as Binding, который, как я полагаю, не то, что вы хотите. попробовать следующее, чтобы получить доступ к DataContext в UserControl

<Grid DataContext="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}"> 
+0

Спасибо, но похоже, что это дает ту же ошибку. Все еще не удается создать VolumeRender. xaml не отображается. –

+0

можете ли вы опубликовать полное исключение из стека и искать внутреннее исключение? – Herm

+0

Конечно, но где найти полное исключение? –

Смежные вопросы