将Java GUI转换为C#WPF - c#

C#和WPF的新手,试图重现几年前用Java Swing编写的简单2D国际象棋游戏。包含一个8x8的按钮网格,其循环生成类似于:

JButton[][] squares = new JButton[8][8];
grid.setLayout(new GridLayout(8,8));

for (int i = 0; i < squares.length; i++){
 for (int j = 0; j < squares[i].length; j++){
  squares[i][j] = new JButton();
  grid.add(squares[i][j]);
  squares[i][j].addActionListener(this);
 } 
}

是否可以使用WPF在C#中执行类似操作?任何帮助表示赞赏

谢谢,

参考方案

您绝对可以在WPF中执行此操作。看一下Grid和Button控件。您需要为每个按钮设置Grid.Row和Grid.Column属性,并且需要在Grid.RowDefinitions和Grid.ColumnDefinitions列表中分别创建8个条目。

看看here,这是一个好的开始。 (它使用XAML,但您也可以使用C#。)

将Java 7迁移到循环到Java 8的列表中 - java

我正在将Java7代码迁移到Java8。与下面在Java 8中发布的代码等效(最好是一个线性)List<Integer> list = Arrays.asList(1, 2, 3, 4, 5); List<Integer> output = new ArrayList<>(list.size()); for(Integer…

将Java Webapp部署到在Docker容器中运行的Tomcat 8 - java

我对Tomcat和Docker非常陌生-因此我可能在这个问题的某个地方缺少Tomcat基本知识。我正在尝试做的是构建一个运行SpringBoot Restful Web服务的Docker容器,该服务仅返回一些静态数据。这些都在OSX上运行,因此我也使用了Boot2Docker。我已经编写了自己的Dockerfile来构建应用运行的容器:FROM tomcat…

WPF WebBrowser甚至使用ObjectForScripting在单独的线程上锁定UI - javascript

在与WPF Web浏览器控件绑定的ObjectForScripting上调用方法时,网页UI锁定会出现一个奇怪的问题。进一步的研究使我们意识到整个UI(包括WPF应用程序而不是WebBrowser)都已锁定。使用的技术是带有Caliburn.Micro和Autofac的WPF。我在COM可见类上使用方法来推送到Caliburn.Micro提供的事件聚合器。进…

WPF MVVM中的动态TabControl - c#

我几周前开始使用WPF(在C#中),现在我需要一些高级帮助来使用tabcontrol。首先,我正在使用MVVM(模型视图ViewModel)模式来设计我的应用程序,并且我有一个约束,即试图不要在文件(初始化xaml文件)后面的代码中添加代码。现在,我的问题是在MainWindow视图(窗口)中动态创建新的tabItem,当单击按钮(例如“新建选项卡”按钮)时…

WPF-将窗口大小设置为子用户控件大小 - c#

我有一个选项卡控件,该控件动态地填充有包含各种大小的用户控件的选项卡。打开选项卡后,我希望窗口自动调整大小,使其在活动用户控件下有意义。有一种干净的方法可以做到这一点吗?我正在使用标准的mvvm模式。 参考方案 在Window类上使用SizeToContent属性。<Window x:Class="WpfApplication1.MainWi…