2012-11-09 1 views
0

자습서를 진행하고 있습니다. Expression Blend 4에서 WPF를 사용하여 SQL Server에 연결 한 경우를 발견했습니다. 빌드를 할 때 VS12의 마지막 단계 후에 다음 오류가 발생합니다.Visual Studio 12에서 깨끗한 <프로젝트 이름>을 사용해도됩니까?

Error 1 The type or namespace name 'DelegateCommand' could not be found (are you missing a using directive or an assembly reference?) 
Error 2 The type or namespace name 'DelegateCommand' could not be found (are you missing a using directive or an assembly reference?) 

클린을 수행 할 때 이러한 오류가 발생하지 않습니다. 내 대상은 .net 4.5입니다. 시도해 보았습니다. 4.0

내 코드 오류가 있습니다. 나는 두 개의 오류가있는 줄을 굵게 표시했다. 이

using System; 
using System.Collections.Generic; 
using System.Collections.ObjectModel; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Windows.Media; 
using System.Windows.Media.Imaging; 


namespace AWADataSource 
{ 
public class ProductPhotosCollection 
{ 
    **private DelegateCommand getDataCommand; 
    public DelegateCommand GetDataCommand { get { return getDataCommand; } }** 
    public ProductPhotosCollection() 
    { 
     getDataCommand = new DelegateCommand(delegate() { GetData(); }); 
    } 


    public ObservableCollection<ProductPhoto> ProductPhotos 
    { get { return this.productPhotos; } } 
    private ObservableCollection<ProductPhoto> productPhotos = 
     new ObservableCollection<ProductPhoto>(); 
    private void GetData() 
    { 
     ProductPhotosTableAdapters.ProductPhotoTableAdapter da = 
      new ProductPhotosTableAdapters.ProductPhotoTableAdapter(); 
     ProductPhotos.ProductPhotoDataTable dt = da.GetData(); 
     productPhotos.Clear(); 
     foreach (ProductPhotos.ProductPhotoRow row in dt) 
     { 
      productPhotos.Add(new ProductPhoto(
       row.ProductPhotoID, 
       row.ThumbNailPhoto, 
       row.LargePhoto, 
       row.ModifiedDate)); 
     } 
    } 
} 
public class ProductPhoto 
{ 

    // Public Accessors to the private properties. 
    public int ID { get { return id; } } 
    public ImageSource ThumbNailPhoto { get { return thumbNailPhoto; } } 
    public ImageSource LargePhoto { get { return largePhoto; } } 
    public DateTime ModifiedDate { get { return modifiedDate; } } 

    // Constructor. 
    public ProductPhoto(int id, byte[] thumbNailPhoto, byte[] largePhoto, 
     DateTime modifiedDate) 
    { 
     this.id = id; 
     this.thumbNailPhoto = ByteArrayToImageSource(thumbNailPhoto); 
     this.largePhoto = ByteArrayToImageSource(largePhoto); 
     this.modifiedDate = modifiedDate; 
    } 

    // Private properties. 
    private int id; 
    private ImageSource thumbNailPhoto; 
    private ImageSource largePhoto; 
    private DateTime modifiedDate; 

    // Supporting method. 
    private ImageSource ByteArrayToImageSource(byte[] data) 
    { 
     BitmapImage image = null; 
     if (null != data) 
     { 
      image = new BitmapImage(); 
      image.BeginInit(); 
      image.StreamSource = new System.IO.MemoryStream(data); 
      image.EndInit(); 
     } 
     return image; 
     } 
    } 
} 

Class1.cs를

라는 파일이며 내 다른 파일은 거의 사본 및 paist했다 DelegateCommand.cs라고합니다. DelegateCommandAWDataSource에있는 동안

namespace AWDataSource 
{ 
using System; 
using System.Windows.Input; 

/// 
/// DelegateCommand is a simplified version of ICommand in WPF. You can wrap one of these around any method, 
/// and thus bind any command on any WPF object to your method. 
/// 
/// DelegateCommand also supports an IsEnabled property that you can use to turn the command on and off. 
/// 
public sealed class DelegateCommand : ICommand 
{ 
    // Remember the method so that it can be called at the right time. 
    private SimpleEventHandler handler; 

    // Maintain the enabled state. 
    private bool isEnabled = true; 

    // Type signature of the method that DelegateCommand works with - returns void, no arguments. 
    public delegate void SimpleEventHandler(); 

    // Simple constructor: Pass in the method that needs to be called when the command executes. 
    public DelegateCommand(SimpleEventHandler handler) 
    { 
     this.handler = handler; 
    } 

    #region ICommand implementation 

    // Executing the command is as simple as calling the method. 
    void ICommand.Execute(object arg) 
    { 
     this.handler(); 
    } 

    // Saying whether the command can be executed. 
    bool ICommand.CanExecute(object arg) 
    { 
     return this.IsEnabled; 
    } 

    // This is the event that the command architecture of WPF listens to so it knows when to update 
    // the UI on command enable/disable. 
    public event EventHandler CanExecuteChanged; 
    #endregion 

    // Public visibility of the isEnabled flag - note that when it is set, the event must be raised 
    // so that WPF knows to update any UI that uses this command. 
    public bool IsEnabled 
    { 
     get { return this.isEnabled; } 
     set 
     { 
      this.isEnabled = value; 
      this.OnCanExecuteChanged(); 
     } 
    } 

    // Simple event propagation that makes sure that someone is listening to the event before raising it. 
    private void OnCanExecuteChanged() 
    { 
     if (this.CanExecuteChanged != null) 
     { 
      this.CanExecuteChanged(this, EventArgs.Empty); 
     } 
     } 
    } 
} 

답변

2

ProductPhotosCollection 네임 스페이스 AWADataSource입니다.

아마

오타,하지만 당신은 내가 chaseing했다

+0

감사합니다 ("으로 Class1.cs"또는 귀하의 경우) 같은 네임 스페이스에 넣어, 또는 ProductPhotosCollectionAWDataSource 네임 스페이스를 가져올 using를 사용해야 하나 그날 아침, 나는 계속 repaisting하고 같은 오류가 발생했습니다. – StephanM

관련 문제