我正在尝试在Visual Studio 2008中看到由其他人(前雇员)开发的表单,但在我尝试查看MainForm.xaml时遇到以下错误(它无法在设计器视图中加载) :
错误无法创建“NumericTextBox”类型的实例。 d:\ MySolution \ GUI \ MainForm.xaml
我的解决方案是这样组织的(为简洁而缩短 - 这是发生错误的最后一行):
\solution
\Gui
\App.xaml
\MainForm.xaml
\Utils
\NumericTextBox.cs
我的MainForm.xaml看起来像这样:
<Window x:Class="MyCompany.MyDepartment.MyProject.MainForm"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MyCompany.MyDepartment.MyProject"
xmlns:myproject="clr-namespace:MyCompany.MyDepartment.MyProject;assembly=MyProject"
xmlns:dsp="clr-namespace:MyCompany.MyDepartment.MyProject.DSP;assembly=MyProject"
xmlns:filters="clr-namespace:MyCompany.MyDepartment.DSP.Filters;assembly=DSP"
xmlns:mydepartment="clr-namespace:MyCompany.MyDepartment.Utils;assembly=Utils"
xmlns:scope="clr-namespace:MyCompany.MyDepartment;assembly=ScopeControl"
Title="MyProject" Height="900" Width="1024"
Loaded="Window_Loaded"
Closing="Window_Closing" ResizeMode="CanResize" Icon="/MyProjectGUI;component/MyProjectGUI.ico">
<Window.Resources>
...
</Window.Resources>
<DockPanel>
<StackPanel DockPanel.Dock="Left" CanVerticallyScroll="True" CanHorizontallyScroll="False">
<GroupBox Name="SensorControlGroup" Header="Sensor Control">
...
</GroupBox>
<GroupBox Header="Sensor State">
<StackPanel Name="SensorStackPanel">
<Expander Name="EnvironmentExpander" Header="Environment">
...
</Expander>
<Expander Name="SynthExpander" Header="Synthesiser" IsExpanded="True">
<Border Margin="2" Background="White" Padding="3">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120"/>
<ColumnDefinition Width="60"/>
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Grid.Column="0" Grid.Row="0">Frequency (MHz):</Label>
<mydepartment:NumericTextBox Grid.Column="1"
x:Name="SynthFrequency" DecimalPlaces="3"
Maximum="0" Minimum="0" />
可能导致该错误的原因是什么?一切都好,但the application crashes when I run it。我希望这两个问题可能是一个相关的问题。
答案 0 :(得分:1)
你提到的两个问题几乎肯定是相关的。在这两种情况下,都将处理XAML文件以创建控件。一个用于设计目的,另一个用于运行时。如果在解析文件时在运行时生成异常,那么设计者也会遇到文件问题。
我认为你需要关注原始的bug,然后回到这个。人们几乎肯定会修复另一个。
答案 1 :(得分:0)
好的,事实证明虽然Visual Studio设置为使用.net框架的v3.5,但你需要单独安装框架的v3.5 - 似乎我只安装了v2。对于遇到同样问题的其他人来说,这是一个教训!