c#多重文件变量访问
本文关键字:变量 访问 文件 | 更新日期: 2023-09-27 18:03:16
我正在尝试创建一个使用手机摄像头拍照的c#程序,但我需要手机摄像头的ip,所以我使用表单文本字段和按钮。当我点击按钮ipAddres字符串必须更改为文本框中的新值,但我不能在form .cs文件中使用该字符串。请帮助!
这是我的程序。cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
String IpAddres;
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}
这是form。cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void sendIpAddres(object sender, EventArgs e)
{
//!There I want to give the new value to ipAddres!
}
}
}
您可以为DataContext
定义ViewModel
类。每当你在视图(xaml文件)中使用控件时,你可以绑定例如,你的TextBox
到ViewModel
的属性,所以根本不需要编写任何代码(这是不好的做法-在这种情况下使用MVVM框架:https://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx)。
所以如果我理解得好,你可以使用下面的例子(后面有代码):
主窗口
public partial class MainWindow : Window
{
private ViewModel localDataContext;
public MainWindow()
{
InitializeComponent();
var myViewModel = new ViewModel();
DataContext = myViewModel;
localDataContext = (ViewModel) DataContext;
}
private void sendIpAddres(object sender, EventArgs e)
{
MyTextBox.Text = localDataContext.ipAddress;
}
}
ViewModel.cs
public class ViewModel
{
public string ipAddress { get; set; }
// do whatever you want with your ipAddress
}
UPDATE (using binding)
MainWindow.xaml
<TextBox x:Name="MyTextBox" Text="{Binding ipAddress, Mode=TwoWay}" Margin="0,0,434,302"/>