我熟悉 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 应用程序中恢复这些值。那么,这可行吗?