WPF имеет собственное диалоговое окно файла?

GNU ld может сделать это на платформах ELF.

Вот то, как сделать это со сценарием версии компоновщика:

/* foo.c */
int foo() { return 42; }
int bar() { return foo() + 1; }
int baz() { return bar() - 1; }

gcc -fPIC -shared -o libfoo.so foo.c && nm -D libfoo.so | grep ' T '

По умолчанию, все символы экспортируются:

0000000000000718 T _fini
00000000000005b8 T _init
00000000000006b7 T bar
00000000000006c9 T baz
00000000000006ac T foo

Скажем, Вы хотите экспортировать [только 116] и baz(). Создайте "сценарий версии" libfoo.version:

FOO {
  global: bar; baz; # explicitly list symbols to be exported
  local: *;         # hide everything else
};

Передача это компоновщику:

gcc -fPIC -shared -o libfoo.so foo.c -Wl,--version-script=libfoo.version

Наблюдают экспортируемые символы:

nm -D libfoo.so | grep ' T '
00000000000005f7 T bar
0000000000000609 T baz
48
задан Dave Clemmer 1 May 2013 в 17:00
поделиться

1 ответ

WPF имеет встроенные (но не родные ) диалоговые окна файлов. В частности, они находятся в несколько неожиданном пространстве имен Microsoft.Win32 (хотя все еще являются частью WPF). См., В частности, классы OpenFileDialog и SaveFileDialog .

Однако обратите внимание, что эти классы являются лишь оболочкой для функциональности Win32, как предполагает родительское пространство имен. Однако это означает, что вам не нужно выполнять какое-либо взаимодействие WinForms или Win32, что делает его более удобным в использовании. К сожалению, диалоговые окна по умолчанию имеют стиль в «старой» теме Windows, и вам понадобится небольшой взлом в app.manifest , чтобы заставить его использовать новую.

62
ответ дан 26 November 2019 в 18:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: