2009-05-28 150 views
0

我試圖在Visual Studio 2008中看到由其他人(前員工)開發的表單,但在嘗試查看MainForm時仍然遇到以下錯誤。 xaml(它無法在設計器視圖中加載):Visual Studio 2008 WPF設計器將不會加載我的表格

錯誤無法創建類型爲「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

好吧,事實證明,雖然Visual Studio設置爲使用.net框架的v3.5,但您需要單獨安裝框架的v3.5 - 似乎我只安裝了v2。讓這個成爲所有其他人在同樣的問題中掙扎的教訓!

1

你提到的兩個問題幾乎肯定是相關的。在這兩種情況下,都會處理XAML文件以創建控件。一個用於設計目的,另一個用於運行時。如果在解析文件時在運行時產生異常,那麼設計師也會遇到文件問題。

我認爲你需要關注原始錯誤,然後再回到這個錯誤。人們幾乎可以肯定地修復另一個。

+0

謝謝Jarad我會繼續調查:-) – 2009-05-28 14:26:06

相關問題