2012-11-27 81 views
1

我得到一個編譯錯誤,因爲WPF XAML轉換器錯誤

錯誤1類型或命名空間名稱「轉換器」找不到(是否缺少using指令或程序集引用?)G:\ C#\ Practice \ DataGrid \ DataGrid \ obj \ x86 \ Debug \ MainWindow.g.cs 12 7 DataGrid

下面是我的Xaml代碼,我是WPF的新手請幫助我。我有轉換器類。

<Window x:Class="DataGrid.MainWindow " 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Height="500" Width="700" 
xmlns:c="clr-namespace:Converters"> 
<Window.Resources> 
    <c:BoolToStringConverter x:Key="BoolToStringConverter" /> 
</Window.Resources> 
    <Grid> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="59*" /> 
     <RowDefinition Height="402*" /> 
    </Grid.RowDefinitions> 
    <StackPanel Margin="0,55,0,0" Grid.RowSpan="2"> 
     <DataGrid ItemsSource="{Binding Path=Courses}" AutoGenerateColumns="False" HorizontalAlignment="Left" Name="datagrid1" CanUserAddRows="False" HeadersVisibility="Column" RowDetailsVisibilityMode="Visible" VerticalScrollBarVisibility="Auto" CanUserSortColumns="True" CanUserResizeColumns="False" Height="339" Width="610"> 
      <DataGrid.Resources> 
       <Style TargetType="{x:Type CheckBox}" x:Key="DataGridCheckBox"> 
        <Setter Property="HorizontalAlignment" Value="Center" /> 
        <Setter Property="HorizontalContentAlignment" Value="Center" /> 
        <Setter Property="IsEnabled" Value="True" /> 
        <Setter Property="Margin" Value="4" /> 
        <Setter Property="VerticalAlignment" Value="Center" /> 
        <Setter Property="VerticalContentAlignment" Value="Center" /> 
       </Style> 
      </DataGrid.Resources> 
      <DataGrid.Columns> 
       <DataGridTemplateColumn Header="Course Title" Width="100"> 
        <DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <StackPanel> 
           <TextBlock Text="{Binding Path=Code}" VerticalAlignment="Center" /> 
          </StackPanel> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellTemplate> 
       </DataGridTemplateColumn> 
       <DataGridTemplateColumn Header="Course Description" Width="*"> 
        <DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
          <StackPanel> 
           <TextBlock Text="{Binding Path=Descrption}" VerticalAlignment="Center" /> 
          </StackPanel> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellTemplate> 
       </DataGridTemplateColumn> 
       <DataGridTemplateColumn Header="Required" Width="100"> 
        <DataGridTemplateColumn.CellTemplate> 
         <DataTemplate> 
           <TextBlock Text="{Binding Path=IsRequired, Converter={StaticResource BoolToStringConverter}}" 
             VerticalAlignment="Center" /> 
         </DataTemplate> 
        </DataGridTemplateColumn.CellTemplate> 
       </DataGridTemplateColumn> 
      </DataGrid.Columns> 
     </DataGrid> 
    </StackPanel> 
    <StackPanel Margin="0,0,539,32"> 
     <TextBlock Text="Select Enroolment:" FontSize="15" 
        Height="26" 
        Grid.RowSpan="1" 
        Width="134"> 
     </TextBlock> 

    </StackPanel> 
    <TextBlock DockPanel.Dock="Left" 
       HorizontalAlignment="Left" 
       Text="Select Course:" 
       Width="139" FontSize="15" 
       Margin="0,32,0,0"> 
       </TextBlock> 
    <ComboBox HorizontalAlignment="Right" 
       Margin="0,0,69,33" 
       Name="comboBox1" 
       Width="476" 
       Height="23" 
       VerticalAlignment="Bottom" /> 
</Grid> 

+0

沒有命名空間'Converters'位於同一程序作爲主窗口的? –

回答

1

xmlns:c="clr-namespace:Converters"

您應該檢查轉換器類的命名空間,這是你應該把什麼地方Converters。如果Converters是你的類,那麼你應該把什麼它在你的.cs文件命名後說。

例子:

namepsace MyNamespace { 
     public class Converters { } 
} 

那麼你的XAML是:

xmlns:c="clr-namespace:MyNamespace" 

附加: 如果您想更具體的,你可以添加組件參數也是如此。

xmlns:window="clr-namespace:MyNamespace;assembly=MyNamespace" 

大會在哪裏可以在構建屬性中找到(右擊項目,屬性,應用程序,程序集信息)

您的默認命名空間,也可以在生成屬性被發現爲好。

+0

謝謝,這鑊我... – KCS

+1

@KCS添加了有關在哪裏可以找到它在項目本身,而不僅僅是'.cs'文件中的一些信息。 –

+0

再次感謝,我已經添加了cnverter爲.cs文件爲我做小POC。 – KCS