Как добавить директиву using или ссылку на сборку для Usercontrol. - PullRequest
0 голосов
/ 30 сентября 2010

У нас есть некоторый код, который мы опробовали в проекте WPF в .net 4.0, и он работал с использованием Windows, но мы перезапустили проект, чтобы объединить все воедино, и теперь мы начали использовать UserControls. Мое окно, которое работало с моим предыдущим кодом, не работает с этим новым кодом UserControl, и оно говорит, что я опубликовал в заголовке.

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;


namespace WpfPrototype1Screens
{
 /// <summary>
 /// Interaction logic for Screen_1.xaml
 /// </summary>
 public partial class Screen_1 : UserControl
 {

  public Screen_1()
  {
   this.InitializeComponent();


  }

  protected override void OnMouseDoubleClick(MouseButtonEventArgs e)
  {
   base.OnMouseDoubleClick(e);
   FrameworkElement element = e.OriginalSource as FrameworkElement;
   if(element.DataContext is DateTime){
    DateTime date = (DateTime) element.DataContext;
    WpfPrototype1Screens.Add_Event addEvent = new Add_Event(date);
    addEvent.Show();
    addEvent.Focus();
   }
  }
 }
}

Проблема возникает в последних 2 строках метода события OnMouseDoubleClick. Фокус хорошо выглядит, но addEvent.Show(); нет. Он говорит, что для этого типа Usercontrol не существует такой вещи, как Show ().

Теперь я обнаружил, что существуют разные пользовательские элементы управления ... есть та, на которую я пытался сослаться (щелкнув правой кнопкой мыши -> добавив ссылку -> вкладка .Net -> и выбрав System.Windows.Forms (); ... но это не сработало, потому что я понял, что используемый нами UserControl - это не "формы" usercontrol, это элемент управления Usercontrol? Думаю, я не знаю, что делать, чтобы сделать этот код скомпилировать и работать

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Попробуйте заменить эту часть:

WpfPrototype1Screens.Add_Event addEvent = new Add_Event(date);

с любым из них:

using WpfPrototype1Screens;

Add_Event addEvent = new Add_Event(date);

Или

WpfPrototype1Screens.Add_Event addEvent = new WpfPrototype1Screens.Add_Event(date);

Надеюсь, это поможет!

0 голосов
/ 30 сентября 2010

Немного сложно понять код. Кажется, что первая часть вашего кода - это класс пользовательского элемента управления, а вторая часть - код, который должен использовать элемент управления. Поправьте меня если я ошибаюсь.

Я думаю, что вы используете System.Windows.Controls UserControl, который, безусловно, не имеет метод Show (). Вы можете использовать свойство Visibility (унаследованное от UIElement) UserControl, чтобы показать / скрыть его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...