У нас есть некоторый код, который мы опробовали в проекте 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? Думаю, я не знаю, что делать, чтобы сделать этот код скомпилировать и работать