黑白棋逻辑
上面示例中的黑白棋(五子棋)我是直接在WPF中用Border画的,但如果要用图像渲染的话,可以参考ChatGPT提供的方法:
// 加载图片到内存中 Bitmap bmp = new Bitmap("image_path"); // 定义切割后的小图片大小 int width = 100; int height = 100; // 遍历图片并切割为小图片 for (int x = 0; x < bmp.Width; x += width) { for (int y = 0; y < bm这个可以作为棋类游戏的通用底层模型,只要改一下行数、列数、调整一下颜色或者棋子的种类,就可以适合其他棋类游戏了,拓展性不错。
其实应该说不光是棋类游戏,2D的平面走格子的游戏应该都可以兼容,比如贪吃蛇、吃豆人等等,哪怕超级玛丽这种改造一下也可以实现
在C# WPF中按照MVVM框架结构进行拆分:
前几天在Github上找到了一个免费的ChatGPT的API接口,此API服务器是在国内的,所有访问速度比之前翻墙访问要快不少,最主要是它可以免费使用GPT3.5(GPT4是收费的)。
https://github.com/chatanywhere/gpt_api_free
handycontrol中有个Imageviewer控件已经完成了这个功能,可以直接调用
handycontrol应该是有个winform的版本,可以适配framework 4使用,可以直接嵌入到aardio中。
<Window x:Class="WPFImageViewer.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http:/回复#7 @鸿湖重工业株式会社 :
因为scottplot、ZedGraph、oxyplot这些都是C#的库,在C#中用Nuget引入后会有比较详细的代码提示,所以一般直接在VS中就能看到应该调用什么函数实现什么功能,但在aardio中是无法直接看到的,一个一个试错的效率实在是太低了。
比较好的做法是现在VS中学会如何使用,然后再在aardio进行同样逻辑的调用,这样可以少走不少弯路。
根据上述模板开发
HandyControl 还是比较符合现代扁平化设计的风格
定制了一个项目模板,包含WPF + CommunityToolkit.Mvvm + Behaviors + PubSub + HandyControls
都已经配置好了,直接导入VS模板即可
回复#1 @admin :
WPF其实和WinForm非常不一样了,尤其是用了MVVM模式以后要做到完全的前后端分离,不通过消息的订阅和发布几乎就不可能在界面之间交互了。
其实
C#的WPF开发中经常会遇到需要在不同窗口或者界面间传递消息,如果要严格遵循Model-View-ViewModel前后台分离的原则来开发的话,数据的跨界面传输就会比较麻烦,尤其涉及到多个不同界面间的相互交互。
PubSub库的订阅和发布可以比较方便的解决这个问题。
1. Model: 消息模型
using CommunityToolkit.Mvvm.ComponentModel; namespace WpfPubSubDemo { public partial class M还可以做背景变换的动画,把变化速度调慢时候当桌面时缓慢变化。
WPF应该有更优雅的动画制作语句,不过我只叠加了一张图片,然后调了调透明度
private void RunAnimation() { Application.Current.Dispatcher.Invo旁边可以加个切换城市列表加载更多人物立绘
定制化RadioButton
<!--城市列表--> <ListBox x:Name="cityListBox" Grid.Row="0" Grid.ColumnC#的Linq实现大数据(千万级别)的筛选性能表现还是很不错的。
WPF界面:
<Window x:Class="WpfDemo01.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://sch之前演示了通过点击按钮实现页面跳转,其实Xamarin支持TabbedPage实现各子页面的调度。
修改MainPage.xaml
<?xml version="1.0" encoding="utf-8" ?> <TabbedPage xmlns="http://xamarin.com/schemas/2014/f继续分享通过Xamarin开发Android应用的案例:调用手机摄像头拍照
新建一个内容页Page3并通过路由注册,方法与之前相同,略过
在内容页Page3.xaml上放一个Image和一个Button
<?xml version="1.0" encoding="utf-8" ?> <数据绑定也可以用CollectionView展示,比如这样
Page2.xaml.cs
接上一篇,继续
回复#8 @鸿湖重工业株式会社 :
这个还要看你调用的dll,有些比如申明了允许外部调用,有些可能是私有的,还有些可能是受保护的,或者是只读或者只写的属性。
例如,上面的这个类
public class JiJin { public string _Code { get; private set; } public string _Name { get; private set; }
其实用的游戏底层与前面的五子棋是同一个,渲染不同而已,要是贴上不同图像可以模拟更多平面游戏,坦克大战,超级玛丽这种都不是问题。
竖过来,就变成《是男人就挑战100层》