这里的场景是:
我有一张画布,上面画着不同的图表。现在的要求是使用 C# 或 VB 使用背后的代码放大画布。此外,我需要将缩放代码放置在某个 dll 中,以便我可以在我的应用程序中重复使用同一组代码。
现在我的问题是如何做到这一点......
我已经尝试过以下代码,请看一下..
public MainWindow()
{
InitializeComponent();
canvas.MouseEnter += new MouseEventHandler(canvas_MouseEnter);
canvas.MouseWheel += new MouseWheelEventHandler(canvas_MouseWheel);
}
void canvas_MouseWheel(object sender, MouseWheelEventArgs e)
{
double height = canvas.ActualHeight;
double width = canvas.ActualWidth;
double zoom = e.Delta;
height += 2;
width += 2;
ScaleTransform sc = new ScaleTransform(width, height);
canvas.LayoutTransform = sc;
canvas.UpdateLayout();
}
Run Code Online (Sandbox Code Playgroud) 在 C# 中玩堆栈集合时,我遇到了以下问题。正是我不确定为什么会发生这种情况。请说明原因和解决方案的替代方案。
问题 -
具有 Stack 作为属性的类。例如,将该类命名为 Progress。T 是 Item 类类型。
现在,每当用户取得任何进展时,我们都会将其存储在堆栈中。如果用户在两者之间离开,那么下次我们将从该阶段从堆栈中查看该项目。下面的代码片段将给出正在尝试的内容的想法......
using static System.Console;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace StackCollection
{
class Program
{
static void Main(string[] args)
{
Progress progress = new Progress();
progress.Items.Push(new Item { PlanID = null, PlanName = "Plan A" });
var jsonString = JsonConvert.SerializeObject(progress);
var temp = JsonConvert.DeserializeObject<Progress>(jsonString);
temp.Items.Push(new Item { PlanID = null, PlanName = "Plan B" });
jsonString = JsonConvert.SerializeObject(temp);
temp = JsonConvert.DeserializeObject<Progress>(jsonString);
temp.Items.Push(new Item { PlanID = null, PlanName = …Run Code Online (Sandbox Code Playgroud) 假设我有一个列表:
List<int> _arr = new List<int> {1, 3, 4};
Run Code Online (Sandbox Code Playgroud)
而且是一个目标 4
我想回到{1, 3}作为1 + 3 = 4和{4}作为4 = 4使用LINQ从给定的列表.
我怎么做?