我熟悉C#并定期编写代码,但MATLAB对我来说完全是一个新的应用程序。
所以,我在这里想要实现的是在MATLAB中设计一个像“旋钮”这样的简单GUI,并通过C#应用程序启动它。
这是旋钮的MATLAB脚本:
function a = Modify_Figure_value(val)
fig = uifigure('Name','KnobValue','Position',[100 100 283 275]);
txt = uieditfield(fig,'text',...
'Position', [69 82 100 22]);
kb = uiknob(fig,...
'Position',[89 142 60 60],...
'ValueChangedFcn',@(kb,event) knobTurned(kb,txt),'Tag','knob');
set(fig.Children(1),'Value',val);
a = 1;
end
当我在MATLAB中运行上述脚本时,旋钮显示在一个窗口中。
然后我使用 MATLAB编译器将其打包为名为“ displayKnobValueIndotNet ”的 .NET程序集,以便在C#代码中使用(带有类名称为 Modify_Figure_valueclass )。所以我写了一个WPF应用程序,它包含一个按钮,当点击它时应该启动旋钮:
public partial class Demo_function : UserControl
{
displayKnobValueIndotNet.Modify_Figure_valueclass obj =
new displayKnobValueIndotNet.Modify_Figure_valueclass();
public Demo_function()
{
InitializeComponent();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
MWArray x = obj.Modify_Figure_value((MWNumericArray)25);
}
}
但是GUI没有启动,也没有错误或异常。我哪里错了?
一旦我实现了上述目标,我需要使GUI具有交互性,因为当我更改旋钮中的值时,我会在WPF应用程序中获得这些值。那么,这可行吗?