在当前上下文错误中不存在但编译良好

时间:2016-06-20 22:02:33

标签: c# wpf xaml

我遇到了一些我认为有点奇怪的问题。我收到两个"在当前背景下不存在"错误

Error   1   The name 'employeeDetails' does not exist in the current context    c:\users\kelly\documents\visual studio 2013\projects\insurance midam interface\insurance midam interface\mainwindow.xaml.cs 72  17  Insurance MidAm Interface
Error   2   The name 'searchBox' does not exist in the current context  c:\users\kelly\documents\visual studio 2013\projects\insurance midam interface\insurance midam interface\mainwindow.xaml.cs 80  34  Insurance MidAm Interface

然而,奇怪的是,项目构建/编译得很好并且应该运行。话虽如此,由于这个错误,我没有获得我想要的对象的智能感知。

我最近对XAML进行了大量编辑,所以我认为它与之有关,因为之前没有出现错误(实际上,' employeeDetails'当时不存在,但是&#39 ; searchBox'做了)。 Grid和TextBox显然是非常基本的控件,所以我看不出它与我的引用或命名空间的错误。

我真诚地感谢任何帮助。

相关的CS:

private void viewButton_Click(object sender, RoutedEventArgs e) {


            DataRowView selectedValue = (DataRowView)employeeGrid.SelectedItem;
            MessageBox.Show(selectedValue.Row[0].ToString());

                employeeGrid.Visibility = Visibility.Collapsed;
                employeeDetails.Visibility = Visibility.Visible;



        }

        private void searchBox_TextChanged(object sender, TextChangedEventArgs e)
        {
            String currentText = searchBox.Text;
            ds.Tables["Employees"].DefaultView.RowFilter = "last like '" + currentText + "*'";
        }
    }
}

和XAML(抱歉长度,但我担心如果我修剪它,我可能会删除故障代码):

<Window
        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:Insurance_MidAm_Interface" mc:Ignorable="d" x:Class="Insurance_MidAm_Interface.MainWindow"
        Title="View Employees" Height="700" Width="1000" Loaded="Window_Loaded" SizeToContent="WidthAndHeight" WindowStartupLocation="CenterScreen" WindowState="Maximized">

    <StackPanel Name="outerPanel">
        <Grid Visibility="Collapsed" Name="employeeDetails" >
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
                <ColumnDefinition Width="*"></ColumnDefinition>
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="50"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
                <RowDefinition Height="*"></RowDefinition>
            </Grid.RowDefinitions>
            <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="0">
                <Label Name="labelEmpSSN" Content="SSN: "></Label> <Label Name="labelEmpName" Content="Name: "></Label>
                <Label Name="labelEmpAddress" Content="Address:"></Label>
                <Label Name="labelEmpBirth" Content="DOB: "></Label>
                <Label Name="labelEmpGender" Content="Gender"></Label>
                <Label Name="labelEmpInsurance" Content="Insurance: "></Label>
                <Label Name="labelEmpDependents" Content="Dependents: "></Label>
                <Label Name="labelEmpLocation" Content="Location: "></Label>
                <Label Name="labelEmpVision" Content="Vision: "></Label></StackPanel>
            <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="1">
                <Label Name="labelReportDate" Content="Date: " />
                <Label Name="labelReportAction" Content="Action: " />                
            </StackPanel>
            <StackPanel Orientation="Vertical" Grid.Row="0" Grid.Column="2">
                <Label Name="labelSpouseName" Content="Name: "></Label>
                    <Label Name="labelSpouseGender" Content="Gender: "></Label>
                <Label Name="labelSpouseSSN" Content="SSN: "></Label>
                <Label Name="labelSpouseBirth" Content="DOB: "></Label>
                <Label Name="labelSpouseAddress" Content="Address: "></Label>
                <Label Name="labelSpouseEmployed" Content="Employed by Company: "></Label>

            </StackPanel>
            <Label Grid.Row="1" Grid.Column="0" Content="Children"></Label>
            <Label Grid.Row="1" Grid.Column="1" Content="Life Beneficiaries"></Label>
            <Label Grid.Row="1" Grid.Column="2" Content="Vision Dependents"></Label>

            <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="2">
                <Label Name="labelChildName1" Content="Name: "></Label>
                <Label Name="labelChildSSN1" Content="SSN: "></Label>
                <Label Name="labelChildGender1" Content="Gender: "></Label>
                <Label Name="labelChildBirth1" Content="DOB: "></Label>
                <Label Name="labelChildAddress1" Content="Address: "></Label>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildStep1" Content="Step:"></Label>
                    <Label Name="labelChildFost1" Content="Foster: "></Label></StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildHandicap1" Content="Handicap: "></Label>
                    <Label Name="labelChildStudent1" Content="Student: "></Label>
                </StackPanel>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="3">
                <Label Name="labelChildName2" Content="Name: "></Label>
                <Label Name="labelChildSSN2" Content="SSN: "></Label>
                <Label Name="labelChildGender2" Content="Gender: "></Label>
                <Label Name="labelChildBirth2" Content="DOB: "></Label>
                <Label Name="labelChildAddress2" Content="Address: "></Label>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildStep2" Content="Step:"></Label>
                    <Label Name="labelChildFost2" Content="Foster: "></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildHandicap2" Content="Handicap: "></Label>
                    <Label Name="labelChildStudent2" Content="Student: "></Label>
                </StackPanel>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="4">
                <Label Name="labelChildName3" Content="Name: "></Label>
                <Label Name="labelChildSSN3" Content="SSN: "></Label>
                <Label Name="labelChildGender3" Content="Gender: "></Label>
                <Label Name="labelChildBirth3" Content="DOB: "></Label>
                <Label Name="labelChildAddress3" Content="Address: "></Label>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildStep3" Content="Step:"></Label>
                    <Label Name="labelChildFost3" Content="Foster: "></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildHandicap3" Content="Handicap: "></Label>
                    <Label Name="labelChildStudent3" Content="Student: "></Label>
                </StackPanel>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="5">
                <Label Name="labelChildName4" Content="Name: "></Label>
                <Label Name="labelChildSSN4" Content="SSN: "></Label>
                <Label Name="labelChildGender4" Content="Gender: "></Label>
                <Label Name="labelChildBirth4" Content="DOB: "></Label>
                <Label Name="labelChildAddress4" Content="Address: "></Label>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildStep4" Content="Step:"></Label>
                    <Label Name="labelChildFost4" Content="Foster: "></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildHandicap4" Content="Handicap: "></Label>
                    <Label Name="labelChildStudent4" Content="Student: "></Label>
                </StackPanel>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="0" Grid.Row="6">
                <Label Name="labelChildName5" Content="Name: "></Label>
                <Label Name="labelChildSSN5" Content="SSN: "></Label>
                <Label Name="labelChildGender5" Content="Gender: "></Label>
                <Label Name="labelChildBirth5" Content="DOB: "></Label>
                <Label Name="labelChildAddress5" Content="Address: "></Label>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildStep5" Content="Step:"></Label>
                    <Label Name="labelChildFost5" Content="Foster: "></Label>
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Label Name="labelChildHandicap5" Content="Handicap: "></Label>
                    <Label Name="labelChildStudent5" Content="Student: "></Label>
                </StackPanel>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="2">
                <Label Name="labelBeneficiaryName1" Content="Name: "></Label>
                <Label Name="labelBeneficiaryStatus1" Content="Status: "></Label>
                <Label Name="labelBeneficiarySSN1" Content="SSN: "></Label>
                <Label Name="labelBeneficiaryPercentage1" Content="Percentage: "></Label>
                <Label Name="labelBeneficiaryRelationship1" Content="Relationship"></Label>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="3">
                <Label Name="labelBeneficiaryName2" Content="Name: "></Label>
                <Label Name="labelBeneficiaryStatus2" Content="Status: "></Label>
                <Label Name="labelBeneficiarySSN2" Content="SSN: "></Label>
                <Label Name="labelBeneficiaryPercentage2" Content="Percentage: "></Label>
                <Label Name="labelBeneficiaryRelationship2" Content="Relationship"></Label>
            </StackPanel>



            <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="4">
                <Label Name="labelBeneficiaryName3" Content="Name: "></Label>
                <Label Name="labelBeneficiaryStatus3" Content="Status: "></Label>
                <Label Name="labelBeneficiarySSN3" Content="SSN: "></Label>
                <Label Name="labelBeneficiaryPercentage3" Content="Percentage: "></Label>
                <Label Name="labelBeneficiaryRelationship3" Content="Relationship"></Label>
            </StackPanel>


            <StackPanel Orientation="Vertical" Grid.Column="1" Grid.Row="5">
                <Label Name="labelBeneficiaryName4" Content="Name: "></Label>
                <Label Name="labelBeneficiaryStatus4" Content="Status: "></Label>
                <Label Name="labelBeneficiarySSN4" Content="SSN: "></Label>
                <Label Name="labelBeneficiaryPercentage4" Content="Percentage: "></Label>
                <Label Name="labelBeneficiaryRelationship4" Content="Relationship"></Label>
            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="2">
                <Label Name="labelVisionName1" Content="Name: "></Label>
                <Label Name="labelVisonSSN1" Content="SSN: "></Label>
                <Label Name="labelVisionGender1" Content="Gender: "></Label>
                <Label Name="labelVisionBirth1" Content="DOB: "></Label>               

            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="3">
                <Label Name="labelVisionName2" Content="Name: "></Label>
                <Label Name="labelVisonSSN2" Content="SSN: "></Label>
                <Label Name="labelVisionGender2" Content="Gender: "></Label>
                <Label Name="labelVisionBirth2" Content="DOB: "></Label>

            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="4">
                <Label Name="labelVisionName3" Content="Name: "></Label>
                <Label Name="labelVisonSSN3" Content="SSN: "></Label>
                <Label Name="labelVisionGender3" Content="Gender: "></Label>
                <Label Name="labelVisionBirth3" Content="DOB: "></Label>

            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="5">
                <Label Name="labelVisionName4" Content="Name: "></Label>
                <Label Name="labelVisonSSN4" Content="SSN: "></Label>
                <Label Name="labelVisionGender4" Content="Gender: "></Label>
                <Label Name="labelVisionBirth4" Content="DOB: "></Label>

            </StackPanel>

            <StackPanel Orientation="Vertical" Grid.Column="2" Grid.Row="6">
                <Label Name="labelVisionName5" Content="Name: "></Label>
                <Label Name="labelVisonSSN5" Content="SSN: "></Label>
                <Label Name="labelVisionGender5" Content="Gender: "></Label>
                <Label Name="labelVisionBirth5" Content="DOB: "></Label>

            </StackPanel>

        </Grid>
        <StackPanel Name="gridPanel">
        <StackPanel Orientation="Horizontal">
            <Label Content="Search (by last name):" Margin="10, 10"></Label>
            <TextBox Name="searchBox" Width="150" Margin="0,10" TextChanged="searchBox_TextChanged"></TextBox>
        </StackPanel>
        <DataGrid  AutoGenerateColumns="false" ItemsSource="{Binding}" x:Name="employeeGrid" HorizontalAlignment="Left" Margin="0" VerticalAlignment="Stretch" >
            <DataGrid.DataContext>
                <local:employee/>
            </DataGrid.DataContext>
            <DataGrid.Columns>
                <DataGridTextColumn Header="First" Binding="{Binding first}"/>
                <DataGridTextColumn Header="Last" Binding="{Binding last}"/>
                <DataGridTextColumn Header="SSN" Binding="{Binding ssn}"/>
                <DataGridTemplateColumn>
                    <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                            <Button Name="viewButton" Content="View Details" Click="viewButton_Click"></Button>
                    </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
                <DataGridTextColumn Header="Employment Location" Binding="{Binding location}"/>
                <DataGridTextColumn Header="Email" Binding="{Binding email}"/>
                <DataGridTextColumn Header="Address" Binding="{Binding address}"/>
                <DataGridTextColumn Header="Insurance" Binding="{Binding decision}"/>
                <DataGridTextColumn Header="Vision" Binding="{Binding vision}"/>
                <DataGridTextColumn Header="Dependents" Binding="{Binding dependents}"/>
            </DataGrid.Columns>
        </DataGrid>
        </StackPanel>
    </StackPanel>
</Window>

1 个答案:

答案 0 :(得分:1)

除清洁解决方案外,您还可以检查/清空obj\debug文件夹。我可能错了,但我认为Visual Studio设计师使用了其中的几个文件。

另外,根据this,在自定义命名空间声明的末尾添加;assembly=可以解决问题:

xmlns:local="clr-namespace:Insurance_MidAm_Interface;assembly="