对于C#和编程,我还是比较陌生,所以我不确定我是否能够正确地提出这个问题,但这里就是这样。我目前正在为使用Visual Studio的C#专门开发一个类,并且我们给出的任务是使用老师提供的WPF应用程序,然后创建一个.cs文件来输入我们的代码以使应用程序正常运行。我在创建控制台应用程序以及仅使用VB的WPF应用程序方面取得了成功,但我并不完全确定如何使这两个概念相互协作。使用.cs的WPF应用程序
到目前为止,我的代码如下:
MainWindow.xaml(教师提供):
<Window x:Class="CreateClassesObjs.MainWindow"
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:CreateClassesObjs"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" Loaded="Window_Loaded">
<Grid>
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="66,37,0,0" VerticalAlignment="Top" Width="164" IsDropDownOpen="True"/>
<Button x:Name="button" Content="Select this course" HorizontalAlignment="Left" Margin="283,39,0,0" VerticalAlignment="Top" Width="166" Click="button_Click"/>
<ListBox x:Name="listBox" HorizontalAlignment="Left" Height="69" Margin="66,233,0,0" VerticalAlignment="Top" Width="164"/>
<Label x:Name="label" Content="Please select a course " HorizontalAlignment="Left" Margin="66,7,0,0" VerticalAlignment="Top" Width="383"/>
<Label x:Name="label1" Content="You have selected these courses:" HorizontalAlignment="Left" Margin="66,202,0,0" VerticalAlignment="Top" Width="176"/>
</Grid>
MainWindow.xaml.cs(教师提供):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
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 CreateClassesObjs
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
Course choice;
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Course course1 = new Course();
Course course2 = new Course();
Course course3 = new Course();
Course course4 = new Course();
Course course5 = new Course();
Course course6 = new Course();
Course course7 = new Course();
course1.setName("IT 145");
course2.setName("IT 200");
course3.setName("IT 201");
course4.setName("IT 270");
course5.setName("IT 315");
course6.setName("IT 328");
course7.setName("IT 330");
this.comboBox.Items.Add(course1);
this.comboBox.Items.Add(course2);
this.comboBox.Items.Add(course3);
this.comboBox.Items.Add(course4);
this.comboBox.Items.Add(course5);
this.comboBox.Items.Add(course6);
this.comboBox.Items.Add(course7);
}
private void button_Click(object sender, RoutedEventArgs e)
{
choice = (Course)(this.comboBox.SelectedItem);
this.listBox.Items.Add(choice);
}
}
}
And Course.cs(我已经开始编写的代码):
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
#endregion
namespace CreateClassesObjs
{
public partial class Course :MainWindow
{
//Field
private string courseName;
//Method to set courseName to string value
public void setName(string newName)
{
courseName = newName;
}
//overrides string ToString
/*public override string ToString()
{
// this method returns the name field
Course course1 = new Course();
Console.WriteLine(course1.courseName);
}*/
}
}
我一直在试图从我可以找到的教程中找到它,但我觉得我只是混淆了它。我不是在寻找完整的答案,而是朝正确的方向推动。先谢谢你!
你的问题是什么? – SLaks
为什么'Course'继承'MainWindow'? – SLaks
我希望这个课程不是为了教WPF的任何人......教官的代码只是让我死在内部。 – Guttsy