// Object used for communication from JS -> WPF
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public class HtmlInteropClass {
public void SetAValue(string title) {
//외부 함수 전용 공간을 만들어서 그쪽으로 옮겨서 처리한다.
var ef=new ExternalFunction.EF_1_1();
ef.SetAValueEF(title);
}
}
js에서 c# 함수를 호출하는 class
MainWindow Class에 선언한다.
public MainWindow() {
InitializeComponent();
//IE 최신판으로 변경
SetBrowserEmulationMode();
//자바스크립트에서 C# 호출
MainBrowser.ObjectForScripting=new HtmlInteropClass();
}
MainWindow를 초기화할 때 선언한 class를 외부 함수 class로 지정해 준다.
<button onclick="window.external.SetAValue('12.0')">입력 시험</button>
html 파일에서는 이렇게 호출하면 된다.
window.external.함수이름(전달값)
함수는 HtmlInteropClass 안에 있는 함수를 쓴다.
출처의 설명은 별 도움이 안되었고, 첨부되어 있는 소스 파일이 도움이 되었다.
혹시 없어질 때를 대비해서 여기도 첨부해 뒀다.
'쓸만한 주저리' 카테고리의 다른 글
윈도10 필요한가요? (0) | 2017.09.25 |
---|---|
C# MainWindow의 함수를 부를 때 (0) | 2017.06.14 |
js 파일을 동적으로 붙이고 떼기 (load & unload) (0) | 2017.06.14 |
C# WebView(WebBrowser)에서 로컬 json 읽기 (0) | 2017.06.14 |
C# WebView(WebBrowser)에서 로컬 파일 경고 없애기 (0) | 2017.06.14 |