通过JSON文件,读取相关的配置或者信息,并将数值传给相关控件,用于初始化
wpf 初始化 Loaded="Window_Loaded"
xml
<Window x:Class="相机镜头选型.MainWindow" Loaded="Window_Loaded"
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:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
xmlns:svgc = "http://sharpvectors.codeplex.com/svgc/"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:相机镜头选型"
mc:Ignorable="d"
Title="相机镜头选型工具" Height="500" Width="1000"
>
读取json 给到combox
包含两个文件:1.主文件(主题程序);2.初始化文件(初值加载)
1.主文件(主题程序)
c#
private void Window_Loaded(object sender, RoutedEventArgs e)
{
d1.Text = "2700";
res_h.Text = "2046";
vof_h.Text = "1000";
res_w.Text = "1086";
gq.Text = "2";
size.Text = "0.00465";
width.Text = "3800";
length.Text = "12000";
product.Text = "1000";
speed.Text = "2000";
cameranum.Text = "4";
camera.SelectedIndex = 0;
InitialValue InitV = new InitialValue();
//List<ComboBoxItem> items = InitV.LoadData();
camera.ItemsSource = InitV.LoadData();
//foreach (var item in InitV.LoadData())
//{
// Console.WriteLine($"DisplayText: {item.DisplayText}, Value1: {item.Value1}, Value2: {item.Value2}, Pixelsize: {item.Pixelsize}");
//}
}
2.初始化文件中的内容
c#
public List<ComboBoxItem> LoadData()
{
string jsonString = File.ReadAllText("D:\\02_Study\\06_WPF\\WpfApp1\\相机镜头选型\\Asset\\config.json");
// 解析 JSON 字符串到对象
List<ComboBoxItem> items = JsonConvert.DeserializeObject<List<ComboBoxItem>>(jsonString);
// 使用 items 对象
foreach (var item in items)
{
Console.WriteLine($"DisplayText: {item.DisplayText}, Value1: {item.Value1}, Value2: {item.Value2}, Pixelsize: {item.Pixelsize}");
}
return items;
}
需要解析的json文件
json
[
{
"DisplayText": "Basler ace Classic acA2000-340km 200万",
"Value1": 2048,
"Value2": 1088,
"Pixelsize": 0.0055
}
]